Java の文字化けの解決策
Java の場合、デフォルトのエンコード方式が UNICODE なので、中国語の It を使用してくださいまた、問題が発生しやすいため、一般的な解決策は次のとおりです:
String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);
1. UTF8 は JSP の中国語文字化け問題を解決します
推奨チュートリアル: "java learning"
通常、各ページの先頭に次の内容を追加します:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("UTF-8"); %>
◆charset=UTF-8 は、JSP がクライアントに「UTF-8」として出力するエンコード方式を指定するために使用されます。
◆pageEncoding="UTF-8"、JSP エンジンが中国語の文字を含む JSP ページを正しくデコードできるようにするため、これは LINUX で非常に効果的です;
◆request.setCharacterEncoding("UTF- 8"); リクエストは中国語でエンコードされています。
それでも問題を解決できない場合があり、次のように対処する必要があります:
String msg = request.getParameter("message"); String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8"); out.println(st);
2. Tomcat 5.5 の中国語の文字化けコード
%TOMCAT を入力するだけです。インストール ディレクトリ%/ webapps\servlets -Examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class ファイルが webapp ディレクトリ/filters にコピーされます。フィルタ ディレクトリがない場合は作成します。
2) 次の行を web.xml に追加します:
<filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
3)
2 を完了し、メソッド ソリューションを取得します
1) サーバーを開きますTomcat の .xml ファイルを開き、ブロックを見つけて次の行を追加します:
URIEncoding=”GBK”
完全な内容は次のようになります:
<connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK" />
2) tomcat を再起動します。すべて問題ありません。
3. xmlHttpRequest 中国語の問題
ページ jsp に使用される GBK エンコーディング
code:
<%@ page contentType="text/html; charset=GBK"%>
javascript 部分
code:
function addFracasReport() { var url="controler?actionId=0_06_03_01&actionFlag=0010"; var urlmsg="&reportId="+fracasReport1.textReportId.value; //故障报告表编号 var xmlHttp=Common.createXMLHttpRequest(); xmlHttp.onreadystatechange = Common.getReadyStateHandler(xmlHttp, eval("turnAnalyPage")); xmlHttp.open("POST",url,true); xmlHttp.setRequestHeader( " Content-Type " , " application/x-www-form-urlencoded); xmlHttp.send(urlmsg); } #p#
バックグラウンドjavaで取得したreportIdが文字化けしています転送方法が分かりません主な原因はxmlHttp.send(urlmsg);が今後どのようなエンコードになるのか分からないことです。後で Java を使用して転送しましたが、いくつかの方法を試しましたが成功しませんでした。
以上がJavaの文字化けの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。