HTML投稿が文字化けした場合の対処法

藏色散人
リリース: 2021-05-27 10:41:27
オリジナル
2050 人が閲覧しました

html 文字化けした投稿の解決策: まず、対応するコード ファイルを開き、投稿によって渡された ISO エンコードされたコンテンツを UTF-8 形式のコンテンツに変更します。

HTML投稿が文字化けした場合の対処法

この記事の動作環境: Windows 7 システム、HTML5 バージョン、DELL G3 コンピューター

HTML は post メソッドを使用して中国語コンテンツを送信しますエラー解決方法は文字化けです

今日例をやっているとき、postメソッドを使ってフォームを送信しましたが、漢字が入っていると別のページで表示すると必ず文字化けしてしまいます。

##ただし、送信メソッドを get に変更すると、このエラーは発生しません。

詳細なエラーについては、以下の図とコードを参照してください。

HTML コード:

 1 
 2 
 3 
 4 
 5 测试Cookie的设置和获取
 6 
7 8
9 站点名:
10 站点URL:
11 12
13 14
ログイン後にコピー

サーブレット コード、一部をインターセプト:

 1 response.setContentType("text/html;charset=utf-8");
 2         
 3         PrintWriter out=response.getWriter();
 4         
 5         String title="设置Cookie实例";
 6         String docType="\n";
 7         out.println(docType+
 8                 "\n"+
 9                 ""+title+"
"+ 10 "\n"+ 11 "

"+title+"

\n"+ 12 "
    \n" + 13 "
  • 站点名:" 14 + request.getParameter("name") + "\n
  • " + 15 "
  • 站点 URL:" 16 + request.getParameter("url") + "\n
  • " + 17 "
\n" + 18 "");
ログイン後にコピー

エラー:

先頭にコードブロックの位置が間違っているのではないかと思い、上記のコードをdoPostに入れて試してみましたが、やはりエラーが発生しました。

それでは、ポストメソッドを使用して中国語を送信するにはどうすればよいでしょうか?

情報を検索して、

投稿してください

この場合、response.setCharacterEncoding が影響します。response.setCharacterEncoding が設定されていない場合、値は null になり、iso はデフォルトで使用されます。再エンコード (デコード) するには -8859-1。
ブラウザは、自身のページのエンコード形式を開始エンコード形式として使用し、文字をバイトにエンコードして送信しますが、tomcat に関しては、tomcat は再エンコード (デコード) 形式に干渉しません。 response.getCharacterEncoding が null の場合、文字を再エンコード (デコード) するためにデフォルトで iso-8859-1 が使用されます。設定されている場合、文字は設定されたエンコード形式に従って再エンコード (デコード) されます。

POST は半角データを送信します。そのため、POST で送信されるデータのエンコーディングは ISO-8859-1 の半角データです。したがって、英語や数字は文字化けしません...こちら この場合、フィルターとserver.xmlの設定が無効です。もちろん、setCharacterEncodingの原理はフィルターの原理と同じであるため、request.setCharacterEncoding()も無効です。

上記の正しい対処方法問題は次のとおりです。

 String nameStr=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
ログイン後にコピー

ポストで渡された ISO エンコードされたコンテンツを UTF-8 形式のコンテンツに変更して出力します。

推奨学習: 「

HTML ビデオ チュートリアル

以上がHTML投稿が文字化けした場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!