Webにおける中国語の文字化けしの処理
コンピュータでは、バイナリのデータしかなく、異なる文字がバイナリに対応するルールは、文字の符号化です.
共通文字セット:Asciiコード;iso 8859-1コード;gb 2312およびgbk;unicode;utf-8;
文字化けしの解決策:
1.postメソッドでコミットデータには中国語文字があり、リクエストパラメータ値を取得する前にrequestを呼び出すことができる.setCharacterEncoding(「UTF-8」)は、要求本文で使用する文字符号化がUTF-8であることを指定する.
2、ブラウザにデータを送信前にresponseを呼び出す.setHeader("Content-Type", "text/html;charset=UTF-8");これが最善の解決策だ
3、OutputStreamで数字を出力時に文字化けし解決:response.getOutputStream().write((97+"").getBytes());//97任意の数値
4、response.getOutputStream().write("".getBytes()); response.getOutputStream().write(「中国」.getBytes(「UTF-8」)です.
中国語名のファイルをダウンロードすると、文字化けしたソリューションが表示されます.
メッセージヘッダの設定
response.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(file.getName(),"UTF-8"));
//URLEncoder.Encode(String,String)メソッドは、指定された符号化メカニズムを使用して文字列を
application/x-www-form-urlencoded
フォーマットに変換することです.