Tomcatでcatalina.batがUTF-8に設定されている場合、コンソールに文字化けした文字が表示されます

Tomcatでcatalina.batがUTF-8に設定されている場合、コンソールに文字化けした文字が表示されます

1. catalina.bat は UTF-8 に設定する必要があります。UTF-8 に設定しないと、ページが文字化けします。さまざまな UTF-8 デバッグ方法を試しましたが、効果はありませんでした。最終的に、catalina.bat で「JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8」を設定することしかできませんでした。UTF-8 を追加すると問題は解決しますが、 tomcat のコマンド ボックスと出力ログはすべて文字化けします


2. コンパイル ツールを使用している場合は、IDEA コンパイラの VM オプションで -Dfile.encoding=UTF-8 を設定するか、Eclipse 設定で utf-8 に変更することで問題を解決できます。ただし、Windows サーバー上で Tomcat を使用してデプロイする場合、文字化けは解決できません。

3. service.xml に UTF-8 を追加しても意味がなく、文字化けした文字が引き続き表示されます。

<コネクタ ポート="80" プロトコル="HTTP/1.1" 接続タイムアウト="20000" リダイレクト ポート="8433" URIEncoding="UTF-8" />

<コネクタ ポート="8009" プロトコル="AJP/1.3" リダイレクト ポート="8433" URIEncoding="UTF-8"/>

問題の原因:

Windows のデフォルトのエンコード セットは GBK です。startup.bat を使用して Tomcat を起動すると、catalina.bat のコードが読み込まれ、新しいウィンドウが開いて実行されます。開かれた cmd のデフォルトのエンコーディングが utf-8 ではない可能性があります。これはシステム エンコーディングと一致しないため、文字化けが発生します。


解決:

cmd コマンド ラインのエンコードを変更し、レジストリを開いて、HKEY_CURRENT_USER → Console → Tomcat (tomcat のタイトル バーを変更した場合、これは開いたコマンド ウィンドウの名前です) を見つけ、CodePage 項目を見つけて、存在しない場合は作成し、値を 10 進数の 65001 に変更して、[OK] をクリックします。


Tomcat で catalina.bat を UTF-8 に設定した場合にコンソールに表示される文字化けについての記事はこれで終わりです。Tomcat で catalina.bat を UTF-8 に設定する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • IDEA を起動したときに Tomcat コンソールで文字化けする問題を解決する
  • Tomcat が IDEA のコンソールで文字化けを起こし、IDEA エンコーディングを UTF-8 に設定する方法
  • SpringMVC Tomcat コンソールの文字化け問題の解決方法
  • Tomcat コンソールを使用して IDEA の中国語文字化けの問題を解決する方法
  • Tomcat ソースコード起動コンソールの中国語文字化けのデバッグプロセス記録

<<:  Chrome 73 によるフレックスレイアウトの崩れの解析と解決方法

>>:  CSSポジションの5つの異なる値の使い方の詳細な説明

推薦する

MySQL のユニークインデックスと通常のインデックスのどちらを選択すればよいでしょうか?

ユーザー テーブルを設計するときに、各人の ID 番号が一意であり、検索する必要があるシナリオを想像...

ノードでシェルスクリプトを使用する方法

背景開発中、特定の状況でビジネス ロジックをバッチ処理するためのスクリプトが必要になる場合があります...

MySQLの基本的な共通コマンドの概要

目次MySQL の基本的な共通コマンド1. SQL文2. テーブルを作成する3. フィールドのプロパ...

Linuxサーバーのファイアウォールを変更してポートへのリモートアクセスを許可する方法

1. 問題の説明セキュリティ上の理由から、新しく構築されたサーバー クラスターでは、指定されたポート...

MySQLデータベース操作の基本コマンド

1. データベースを作成します。 データ data _name を作成します。 PHP でデータベー...

Dockerコンテナ間で通信する3つの方法

Docker コンテナは互いに分離されており、相互にアクセスできないことは誰もが知っていますが、依存...

Centos 用の rpm パッケージのカスタマイズと yum リポジトリの構築に関するチュートリアル

1 yumでソフトウェアをインストールしたときにダウンロードしたrpmパッケージを保存しますyum ...

MySQL で指定した桁数の乱数を生成する方法と、バッチで乱数を生成する方法

1. まず、よく使われるMySQL関数をいくつか紹介しますRAND() は 0 から 1 (0<...

mysqlとnavicat間の接続を確立する際の1251エラーを解決する

コンピュータを再インストールし、最新バージョンのMySQLデータベースをインストールしました。その結...

Macシステムをインストールした後にVMWareがフルスクリーンで表示できない問題を解決する

システム: VMTOOLs ダウンロード:リンク: https://pan.baidu.com/s/...

Flexレイアウトを使用してヘッドの固定コンテンツ領域のスクロールを実現する方法

ページ ヘッダーの固定レイアウトは、以前は position:fixed を使用して実装されていまし...

React コンポーネント通信ルーティングパラメータ転送 (react-router-dom)

目次最近Reactを勉強していて、今は仕事でVueを使っています。学習の過程で、両者を比較して理解を...

Divの境界と透明度に関する設定

フレーム:スタイル=”border-style:solid;border-width:5px;bor...

js でパズルゲームを実装する

この記事では、パズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容は...

vueの実践的な応用におけるvuexの永続性の詳細な説明

目次vuex 永続性要約するvuex 永続性vuex: ブラウザを更新すると、vuexの状態は初期状...