原因:
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.youkuaiyun.com/q547550831/article/details/50445557