プロジェクトで作業しているときに、Action が JSP 形式で中国語のパラメータを取得することがわかりました。ただし、プロジェクト全体で UTF-8 エンコーディング形式が使用されている限り、コードが文字化けする問題は発生しません。 JS から Action に渡されました。中国語では混乱があります。百度に何度か問い合わせてみたところ、いろいろな意見がありました。
練習の結果、次の方法で中国語の文字化けの問題を解決できることがわかりました。
JSP の JS では、中国語パラメータは encodeURI (encodeURI (中国語パラメータ)) を使用します。 2回トランスコードされました。例:
function show(next,id) ,realName){
document.forms['f2'].action="usersearchNextPage?next=" next "&id=" id "&realName=" encodeURI(encodeURI(realName));
document.forms[' f2']. submit();
}
ここで、realName は中国語のパラメータです。したがって、送信された URL では、realName が 2 回トランスコードされます。 encodeURI(encodeURI(realName))
アクション: 中国語パラメータを受信したときにデコードします。使用: java.net.URLDecoder.decode(realName, "UTF-8");
例:
String realName = ServletActionContext.getRequest().getParameter("realName");
try {
realName = java.net.URLDecoder .decode(realName ,"UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
上記の処理の後、問題は解決されました。