ホームページ  >  記事  >  Java  >  Javaポストリクエストの文字化けの解決策

Javaポストリクエストの文字化けの解決策

尚
オリジナル
2019-11-22 14:37:118269ブラウズ

Javaポストリクエストの文字化けの解決策

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 サイトの他の関連記事を参照してください。

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