Java Web開発プロジェクトにおける中国語文字化けし解決方法のまとめ

2380 ワード

Java Webプロジェクトでは、中国語の文字化けしを解決する方法を以下にまとめた.
1つ目のケース:jspページを呼び出す中国語表示文字化けし問題の説明:ブラウザでjspページを呼び出すと、ブラウザに表示される中国語の内容が文字化けしてしまいます.解決方法:まず、このjspがエディタにファイル内容を保存する際にutf-8の符号化フォーマットを使用していることを確認し、jspページの先頭に追加すれば、このような中国語の文字化けし問題を解決できます.
第2のケース:servletページを呼び出して文字化けし問題の説明を表示します:ブラウザがservletを呼び出すことによって、servletがブラウザに表示する内容が文字化けします.解決方法:servletがresponseオブジェクト出力を使用する前に、response.setContentType(「text/html;charset=utf-8」)を実行します.出力内容の符号化をutf-8に設定します.
第3のケース:postフォーム伝達パラメータ乱符号問題説明:jsp,html,またはservletのフォーム要素を介して対応するjspまたはservletにパラメータをコミットすると,受信したjspまたはservletで受信したパラメータに中国語で乱符号が表示される.たとえば、jspコードを次のようにコミットします.




    


ユーザー名:
パスワード:
受信パラメータのjspコードは次のとおりです.







解決方法:postが発行したパラメータを受信する前にrequest.setCharacterEncoding(「utf-8」)を使用して受信パラメータの内容フォーマットをutf-8符号化に設定します.受信フォームの挿入内容を参照してください.もちろんこのような文字化けしの問題は中国語のフィルタを使う方法が一番いいです.
第四のケース:URI方式伝達パラメータ乱符号問題説明:フォーム伝達パラメータを使用してpostまたはget方式でフォームを適用することができ、リンク方式でパラメータを伝達することができ、このような伝達パラメータ方式は本質的にget方式伝達パラメータであり、この方式で伝達されたパラメータが中国語で発生した場合も乱符号化する可能性がある.
次のようになります.

   ユーザー とパスワードの   
 

解決方法:問題の本質はget方式で渡されるパラメータ内容のデフォルト符号化方式がISO 8859-1に質問され、request.setCharacterEncoding(「utf-8」)を使用しても問題を解決できないことであり、この問題を解決するにはtomcatサーバのプロファイルを変更する.tomcatディレクトリのconf/server.xmlファイルの43行目を変更します.
変更前の内容:



変更後の内容:



これにより、このようなタイプの文字化けし問題を解決することができる.
5つ目のケース:問題の説明:いくつかのクラスライブラリまたはフレームワークを使用する場合、ページコンテンツの国際化を実現するために、対応するpropertiesファイルを作成する必要があります.propertiesファイルの中国語の内容も表示されると文字化けします.解決方法:この乱符号化問題はjdkのnative 2 asciiツールで解決できる.次のコマンドを使用します.

   native2ascii   -encoding   utf-8  display.properties    display_zh_CN.properties 
 

文字化けしの問題はjavaコンパイラがLatin-1またはunicode符号化の文字ファイルしか処理できないためです.
以上が本文のすべての内容で、みんなの学習に役立つことを望みます.