ホームページ >ウェブフロントエンド >jsチュートリアル >jsからaction_javascriptスキルに中国語パラメータを渡すときに文字化けする問題の解決策

jsからaction_javascriptスキルに中国語パラメータを渡すときに文字化けする問題の解決策

WBOY
WBOYオリジナル
2016-05-16 17:06:261129ブラウズ

プロジェクトで作業しているときに、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();
}

上記の処理の後、問題は解決されました。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。