Java WEB プロジェクトでは、中国語の文字化けが頻繁に発生し、非常に頭の痛い問題です。文字化けが最も発生しやすいリンクは、ブラウザが Web プロジェクトにリクエストを送信するプロセスです。サーバ。以下にこの問題の解決策を紹介しますので、皆さんのお役に立てれば幸いです。以下のトランスコーディングは UTF-8 に基づいていますが、他のエンコーディング形式の場合は、自分で変更できます。
1. レスポンスの文字化けコード
(1) サーバー側のエンコーディングを設定します:response.setCharacterEncoding("UTF-8");
この設定は上記のとおりです 必ずresponse.getWriter()メソッドの前に置いてください;
(2) 送信するデータ形式をブラウザに通知します:response.setContentType("text/html;charset=UTF-8") ;
(3) ブラウザはデコードに UTF-8 を使用します。
2. リクエストの文字化けコード
1. Post モードで送信し、パラメータはリクエスト本文に存在します。これを設定するだけです:
request.setCharacterEncoding("UTF-8");
2. Get メソッドで送信すると、パラメータは URI アドレスの後に結合され、サーバーはデフォルトで iso8859-1 に従ってデコードします。解決策は 2 つあります:
(1). プログラム内の受信を変更します リクエストのエンコーディング (この方法はリクエストごとにトランスコードが必要ですが、推奨されません)
String str = request.getParameter("s"); str = new String(str.getBytes("iso8859-1"),"UTF-8")
(2) Tomcat インストール フォルダーで server.xml ファイルを見つけ、 52114130f673a0a75cb6ea1d5ccf6b73 タグを付けて変更します (この方法は一度限り有効です)
<Connector URIEncoding="UTF-8" port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" connectionTimeout="20000" disableUploadTimeout="true" />
このタグに URIEncoding="UTF-8" を追加して、tomcat を再起動するだけです。
Java の知識をさらに深めたい場合は、Java の基本チュートリアル を参照してください。
以上がJavaポストリクエストの文字化けの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。