javaScript中的编解码方法:
escape() 方法
encodeURI() 方法
encodeURIComponent() 方法
早期使用时都是
var title = $("#title").val();
var _url = "ooxx.action?k="+title;
window.location.href = _url;
但显示在地址栏上都是中文,后台用request.getParameter("k")取的值都是乱码,
仍需要new String(k.getBytes("ISO-8859-1"),"utf-8")处理,
这个不就是没转嘛
[具体为什么还有看看]
解决方法:
使用
escape(encodeURIComponent(title)),进行2次转换
比如js里处理中文 啊
encodeURIComponent(title)=%E5%95%8A
escape(encodeURIComponent(title))=%25E5%2595%258A
浏览器地址栏显示
ooxx.action?k=%25E5%2595%258A
java后台log
k=%E5%95%8A
URLDecoder.decode(k, "UTF-8")=啊
escape() 方法
encodeURI() 方法
encodeURIComponent() 方法
早期使用时都是
var title = $("#title").val();
var _url = "ooxx.action?k="+title;
window.location.href = _url;
但显示在地址栏上都是中文,后台用request.getParameter("k")取的值都是乱码,
仍需要new String(k.getBytes("ISO-8859-1"),"utf-8")处理,
这个不就是没转嘛
[具体为什么还有看看]
解决方法:
使用
escape(encodeURIComponent(title)),进行2次转换
比如js里处理中文 啊
encodeURIComponent(title)=%E5%95%8A
escape(encodeURIComponent(title))=%25E5%2595%258A
浏览器地址栏显示
ooxx.action?k=%25E5%2595%258A
java后台log
k=%E5%95%8A
URLDecoder.decode(k, "UTF-8")=啊