ホームページ >Java >&#&チュートリアル >JavaEE開発における文字化け問題の解決方法

JavaEE開発における文字化け問題の解決方法

巴扎黑
巴扎黑オリジナル
2017-07-21 17:03:201775ブラウズ

インターネット上には文字エンコーディングに対処するための解決策が数多くあります。ここでは、先人たちの肩に立って、私自身の要約を作成します。

私の意見では、コード化けの問題の解決策は、次の 3 つの場所でエンコーディングを設定するだけです:

1. HTML や JSP などのフロントエンド ページ

2. バックグラウンド サーブレットのリクエストと応答オブジェクト。

3. サーバー設定ファイル。

1. HTML や JSP などのフロントエンド ページにエンコーディングが表示される場合は、まずフロントエンド ページの Meta タグにエンコーディングが正しく設定されているかどうかを確認します。この Meta タグはページの先頭でもあります。

<span style="background-color: #ffff00; color: #000000"><%</span><span style="background-color: #f5f5f5; color: #000000">@ page language</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">java</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000"> import</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">java.util.*</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000"> pageEncoding</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">utf-8</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #ffff00; color: #000000">%><br></span>

2. バックエンドのリクエストとレスポンスの設定

2-1. バックグラウンドが URL リクエストを受信した場合、リクエストがエンコードされていない場合、受信したリクエストの内容が文字化けします。 :

2-1-1. Get リクエストの場合は、まず URL リクエストのパラメーターを取得します。例:

String method = request.getParameter("method");
その後、String オブジェクトを呼び出してパラメーターのエンコーディングの変換を完了します、

String parseMethod = new String(method.getBytes("ISO-8859-1"),"UTF-8");
ここでの String の構築方法は 2 つあります。最初のパラメータとしてパラメータを文字列の形式から文字配列に変換し、2 番目のパラメータは変換された文字列のエンコード方法です。

2-1-2. Post リクエストの場合は、リクエスト パラメータを取得する前に直接エンコードを設定するコードを追加します。つまり、リクエスト オブジェクトの setCharacterEncoding メソッドを呼び出してエンコードを設定します。

2.2. バックエンドがビジネスロジックと永続化操作を完了した後、出力コンテンツに中国語が含まれる場合は、応答ストリームデータを出力する必要がある場合があります。応答オブジェクトの setContentType メソッドを直接呼び出すことができます:

request.setCharacterEncoding("UTF-8");

3. サーバー構成ファイルの設定

現在の 2 つの手順がまだ機能しない場合は、インストール ディレクトリの conf フォルダーにも設定する必要があります。たとえば、私のサーバーは E:tomcat7.0conf で、サーバー構成ファイルserver.xmlを見つけて設定します:

response.setContentType("text/html;charset=utf-8");

以上がJavaEE開発における文字化け問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。