在使用ajax 进行异步提交中 经常会出现url 参数为中文字符串的情况 ,但在服务器端进行接收时会出现中文乱码 下面以servlet为服务器脚本语言为例:
js代码:
<span style="font-size:14px;"> <span style="font-size:24px;"><span style="font-size:14px;"> http_request.onreadystatechange=getResult;
http_request.open("POST",url,true);//post/get 方式都可以
http_request.send(null);
url: "/WebTest/TestAjax?username=你好" //有无 encodeURIComponent(value)</span> 不影响
</span></span>
servlet接收代码:
因为 js 中默认编码格式是iso-8859-1,所以先用iso-8859-1接收再转码成utf-8编码
new String(request.getParameter("username").getBytes("iso-8859-1"),"UTF-8")