我想每个人在使用AJAX的时候肯定都遇到过中文乱码的问题,我也不例外,这个问题困 扰我的时间也不短,后来我总算时把它搞清楚了:AJAX使用的是另外一个线程,所以它的字 符编码是和页面无关的,也就是说,它总是用GB2312编码向服务器发送数据,并且总是把接 受到的数据当GB2312来理解,这是由我们操作系统决定的,我们大陆的操作系统默认编码都 应该是GB2312吧。因此,在接受数据的时候,我们少不了:
String name = new String(request.getParameter("name").getBytes(
"ISO-8859-1"), "GB2312");
而发送数据的时候,也少不了:
response.setCharacterEncoding("GB2312");
response.getOutputStream().println(result);
response.flushBuffer();