servlet3.0 中文乱码问题

原因:

web服务器 servlet 浏览器 , 三者之间的编码字符集格式不一致,需要都设为utf-8.

解决方法:

Tomcat:
8.0后默认utf-8
8.0前默认编码为:ISO

//在服务器端设置成浏览器端的编码方式。
request.setCharacterEncoding(“utf-8”);

//在服务端是中文,浏览器乱码,在response的时候,一般通过使用
response.setContentType(“text/html;charset=utf-8”);

以上方法一般能解决问题,如果还不行,则可能是浏览器的的编码格式问题:
servlet端:

out.println(URLEncoder.encode("汉字","utf-8"));

前端: jquery+ajax

  $.ajax({
              url:"test",
              type : "post",
              data:{
                  id:1,
                  password:123
              },
              success:function(str){
            	  console.log(decodeURI(str));          	 
              },
              error:function (msg) {           	  
                  console.log(msg);
              }
          })

参考:

https://blog.csdn.net/q547550831/article/details/50445557

你可能感兴趣的:(servlet3.0 中文乱码问题)