关于这个问题得分get请求和post请求两种不同的方式来解决

get请求

1  为什么会产生乱码

   ie浏览器是用gbk来编码的,其他浏览器是用utf-8来编码的,而服务器是用iso-8859-1来解码的

2  如何解决

    首先在服务器端上

   打开服务器的conf文件夹下的server.xml文件,找到<connector URIEncoding="utf-8">这个标签 在这个标签里添加上。

   其次在请求端用encodeURI函数对请求进行编码。

   xhr.open('get',encodeURI(check_name?username=username),true);

   


post请求

1  为什么会产生乱码

   浏览器都是用utf-8来编码,而服务器用iso-8859-1来解码

2  如何解决

   在servlet中用request.setCharacterEncoding("utf-8") 来解码

     用response.setContentType("text/html;charset=utf-8") 来编码来解决