js从html获取提交给servlet,servlet把值返回html 出现中文乱码

来源:互联网 发布:联通多号通软件 编辑:程序博客网 时间:2024/06/01 09:50

js:

 $("#verifyButton").click(function(){
 var username=$("#username").val();
 if(username==""){
 alert("用户名不能为空!");
 }else{
 $.get("servlet/userVerifyServlet?username="+username,null,function(response){
 $("#result").html(response);
 });

 

servlet:

response.setContentType("text/html;charset=utf-8");
  PrintWriter out = response.getWriter();
  String username=request.getParameter("username");
  String value=new String(username.getBytes("iso8859-1"),"gb2312"); 
  out.println("该用户名"+value+"可以使用");
  out.flush();
  out.close();

 

注意:将gb2312不可改为utf-8 否则仍是乱码

 

 

 

在jsp页面上设置了contentType="text/html;charset=gb2312"  
   
  我总结了一下ajax乱码问题.主要有三个地方.  
  1.传入中文参数时乱码  
  解决.string   value   =   new   String(in.getByte("iso8859-1"),"gb2312");  
  注意,这里只能用gb2312   or   GBK  
   
  2.输出中文乱码  
  解决contentType="text/html;charset=gb2312"  
  注意,如果你设response.setCharEncoding="gb2312"没有用.  
   
  3.大文本传输时中文乱码  
  解决string   value   =   new   String(in.getByte("iso8859-1"),"UTF-8");  
  注意,只能用UTF-8才能正确显示

 

 

 

原创粉丝点击