当Ajax使用GET方式提交数据时可以明确指定编码:
- setrequestheader("Content-Type","text/html; encoding=UTF-8")
但是,如果使用POST方式,则不能用这种方式设置编码,解决办法是使用encodeURI或者encodeURIComponent方法对参数进行编码,这两个方法始终使用UTF-8编码,然后在服务端进行解码,解码的方法为:
- String value = java.net.URLDecoder.decode(request.getParameter("Key"), "UTF-8");
另外需要注意的是,在使用encodeURI或encodeURIComponent方法进行编码时最好进行两次,具体原因尚未分析透彻,暂留话柄。
参考文章:
AJAX POST中文乱码解决
阅读(348) | 评论(0) | 转发(0) |