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 クラスター化インデックスのページ分割原理の分析例

推薦する

7つの便利なTypeScriptの新機能

目次1. オプションの連鎖2. NULL値の結合3. 再帰型エイリアス4. アサーション署名5. P...

CSS ピクセルとさまざまなモバイル画面適応の問題に対する解決策

ピクセル解決通常、モニター解像度と呼ばれるものは、実際にはモニターの物理的な解像度ではなく、デスクト...

Linux または Windows 環境での pytorch のインストールと検証 (runtimeerror 問題の解決)

1. pytorch公式サイトから対応するインストールファイルをダウンロードします。 https:...

時点に基づくMySQLクイックリカバリソリューション

なぜこのような記事を書いたかというと、数日前の夜、仕事が終わろうとしていたときに、業務側で突然、テー...

Linux システムで Tomcat を自動的に起動するための設定方法の紹介

1. /etc/init.d ディレクトリに入ります: cd /etc/init.d 2. tomc...

Vueの監視方法のケースの詳細な説明

Vueでの監視方法時計知らせ名前: 監視する属性に同じ名前を付ける必要があります。 1. 機能Vue...

MySQLで関連テーブルを削除する実用的な方法

MySQL データベースでは、テーブルが互いに関連付けられた後は、それらを任意に削除することはできま...

Ubuntu のインストール グラフィック ドライバーと Cuda チュートリアル

目次1. 元のドライバーをアンインストールする2. 新しいグラフィックカードドライバーをダウンロード...

Vue Element フロントエンドアプリケーション開発 従来の Element インターフェースコンポーネント

目次1. リストインターフェースとその他のモジュールの表示処理2. 従来のインターフェースコンポーネ...

JavaScript キャンバスで 9 マスのグリッドカットの効果を実現

この記事では、9グリッドカット効果を実現するためのキャンバスの具体的なコードを紹介します。具体的な内...

ルート変更を監視するJavaScriptの詳細な説明

目次歴史pushState() メソッドpushState() の使用シナリオreplaceStat...

CSS3で実装されたダイナミックな星空の背景

結果:実装コードhtml <link href='https://fonts.goog...

ミニプログラムはミニプログラムクラウドを使用してWeChatの支払い機能を実装します

目次1. WeChat Payを開く1.1 アフィリエイト加盟店番号1.2 加盟店番号を追加する1....

Linux lsコマンドの使用

1. はじめにls コマンドはディレクトリの内容を表示するために使用され、Linux で頻繁に使用さ...