Java で中国語を URL に送信するときに文字化けの問題に遭遇した友人は多いと思いますが、最近、中国語の情報を URL にバインドするという問題に遭遇しました。その後、ActionForward で別のページに移動すると、reqeust.getParameter を使用して取得すると文字化けが発生します。
解決策:
1. URL で渡される中国語の文字をエンコードします:
String message = java.net.URLEncoder.encode("中文字符","utf-8");
2. URL が中国語の文字を渡すページの文字をデコードします:
String msg = request.getParameter("message"); String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");
注:
1. ここで取得される str は、以前に渡された「漢字」です。
2. 抽出した文字セット形式を UTF-8 形式に変換する必要があるのはなぜですか? ISO-8859-1 が Java のネットワーク送信に使用される標準文字セットであるためです request.getParameter("message" ); 取得されるものは ISO-8859-1 文字セットのままなので、変換する必要があります。
Java の知識をさらに深めたい場合は、Java の基本チュートリアル を参照してください。
以上がJavaで中国語にURLを送信した場合の文字化けの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。