Tomcat 実行時の JVM エンコーディングの問題を修正

Tomcat 実行時の JVM エンコーディングの問題を修正

質問:

最近、プロジェクトを展開すると文字化けしたデータが出てきました。確認したところ、プロジェクトはUTF-8エンコード形式を使用しており、データも使用されていました。しかし、呼び出しインターフェースを通じて相手に送信される際に文字化けが発生していました。

Windows 環境に展開されるため、Windows のデフォルトのエンコーディングは GBK であり、JVM 実行時にエンコーディングが不一致になるという問題が発生し、変更も容易です。

解決:

Linux環境でUTF-8エンコーディングを使用する場合、LinuxはデフォルトでUTF-8を使用するため、変更する必要はありません。

warパッケージはTomcatにデプロイされます

JVMエンコーディングを変更する

Linux環境

catalina.sh での設定

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=utf-8"

Windows 環境でのデフォルトのエンコード形式は GBK であるため、Tomcat の実行時にエンコード形式を変更する必要があります。

Windows環境

catalina.bat での設定

set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8

jar パッケージのデプロイメントの場合は、起動コマンドに jvm パラメータを追加するだけで済みます。

JAR パッケージの展開

起動コマンドにJVMパラメータを追加する

java -Dfile.encoding=UTF-8 -jar xxx.jar

要約する

上記は、Tomcat 実行時の JVM エンコーディングの問題を修正するための編集者による紹介です。皆様のお役に立てれば幸いです。

以下もご興味があるかもしれません:
  • JavaメモリモデルとJVMランタイムデータ領域の違いの詳細な説明
  • JVMランタイムデータ領域の原則の分析
  • JVM: 後期(実行時)最適化の詳細な理解
  • Java仮想マシン(JVM)ランタイムの詳細な説明
  • JVM ランタイム メモリ使用量監視の詳細な説明
  • JVM コアチュートリアル: JVM 操作とクラスロードの全プロセスの詳細な説明
  • IntelliJ IDEA で JVM 実行パラメータを設定する方法
  • JVM実行時のデータ領域分割の原理の詳細な説明

<<:  WeChatアプレットで計算機機能を実装する

>>:  MySQL クラスター化インデックスのページ分割原理の分析例

推薦する

LinuxにNginxをインストールする正しい手順

序文私のように、Java バックエンドに勤勉な人であれば、多数のプロジェクト機能を実装することに加え...

今日と昨日の 0:00 タイムスタンプを取得する MySQL の例

以下のように表示されます。昨日: UNIX_TIMESTAMP(CAST(SYSDATE() AS ...

Centos7 システムでの python2 と python3 の共存

最初のステップは、Python のバージョン番号とインストール パスを確認することです。 上記のビュ...

CSS3 で作成された背景グラデーションアニメーション効果

成果を達成する 実装コードhtml <h1 class="text-light&qu...

ドラッグ可能なログインボックスを実現するネイティブJS

この記事では、ネイティブ JS で実装されたドラッグ可能なログイン ボックスを紹介します。その効果は...

CSS で QR コードスキャンボックスを実装するためのサンプルコード

カメラを開くと通常はスキャンボックスが表示されますが、静的なQRコードではフォーカスを合わせたりスキ...

EChartsマウスイベント処理方法の詳細な説明

イベントとは、クリック、マウスオーバー、ページの読み込み後にトリガーされる読み込みイベントなど、ユー...

uni-app を使用して上部のナビゲーション バーにボタンと検索ボックスを表示する方法

最近、会社でアプリを開発する準備をしており、最終的に開発には uni-app フレームワークを使用す...

Vue の双方向イベントバインディング v-model の原理についての簡単な説明

目次説明する:要約する補充するDOM を直接変更して操作する js や jQuery とは異なり、V...

CSSの複数条件の書き方の詳細説明:

:not疑似クラスセレクターは、式に一致しない要素をフィルタリングできます。例 テーブル tbod...

alpineをベースにdockerfileで作成したクローラーScrapyイメージの実装

1.アルパインイメージをダウンロードする [root@DockerBrian ~]# docker ...

Gokudōゲームにおけるフロントエンド知識のまとめ

背景日本語を学び始めた当初は、日本語の50音を覚えるのは簡単ではなく、特にカタカナを覚えるのは困難で...

Tomcatのクラスロードメカニズムを説明する記事

目次- 序文 - - JVM クラスローダー - 1. JVMクラスローダー2. クラスローダーのソ...

CSS3 を使用して円形スクロール プログレス バー アニメーションを作成する例

テーマ今日は、CSS3 を使用して円形スクロール プログレス バー アニメーションを作成する方法を説...

ローカル写真をアップロードする前にプレビューコード例を実装するための HTML5 と jQuery

HTML5 と jQuery はアップロード前にローカル画像のプレビューを実装しており、その効果は...