Ajax中国語文字化けし問題解決方案
js:
encodeURIComponent(name);
java: String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");
//encodeURIComponent UTF 8形式で文字をエンコード
js:
encodeURIComponent(encodeURIComponent(name));
java:
java.net.URLDecoder.decode(....);
//encodeURIComponentメソッドを2回呼び出すとutf-8フォーマットがxx%フォーマットに符号化されます.
PS:linuxの下にバグが見つかりました
String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");
解かれたのは文字化けしで、winとlinuxで互換性を持ってこの問題を解決します.
encodeURIComponent(name);
java: String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");
//encodeURIComponent UTF 8形式で文字をエンコード
js:
encodeURIComponent(encodeURIComponent(name));
java:
java.net.URLDecoder.decode(....);
//encodeURIComponentメソッドを2回呼び出すとutf-8フォーマットがxx%フォーマットに符号化されます.
PS:linuxの下にバグが見つかりました
String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");
解かれたのは文字化けしで、winとlinuxで互換性を持ってこの問題を解決します.
var data = {name:encodeURI($("#myName").val(),"utf-8")},pwd:"password"};
String name=URLDecoder.decode(request.getParameter("name"),"utf-8");