解決策 1 (文字化けしたパラメータが多い場合、効率が低下します)
ブラウザのデフォルトのエンコードは ISO-8859-1 であり、 -end サーブレットはリクエスト パラメータを受け取り、ISO-8859-1 に従ってデコードしてバイナリ ストリームを取得し、それを UTF-8 でエンコードします。
サンプル コード:
// 获得请求参数 String queryString = request.getQueryString(); // 按照ISO-8859-1方式解码 byte[] bytes = queryString.getBytes("ISO-8859-1"); // 按照UTF-8编码 String param = new String(bytes,"UTF-8");
解決策 2 (このメソッドは get リクエストのみをサポートします)
サーバー (tomcat) 構成を変更します。server.xml では、デフォルトは ISO- 8859-1 (表示されていません)、UTF-8を追加できます
#解決策 3 (このメソッドはポストリクエストのみをサポートします)リクエストパラメータのエンコーディングを設定しますサーブレット内で直接 -- 推奨事項//设置请求参数编码 request.setCharacterEncoding("UTF-8");
// 设置MIME类型 response.setContentType("text/html"); // 设置编码 response.setCharacterEncoding("UTF-8"); //设置编码(简写) response.setContentType("text/html;charset=utf-8");
java 基本チュートリアル 列に注目してください。
以上がJavaの文字化けに対処するいくつかの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。