javaWeb往客户端回传数据中文乱码
为什么会引起乱码?
因为服务器默认发送字符的编码是ISO-8859-1
而ISO-8859-1编码是不支持中文的,因此我们需要更改发送编码,在这里有两种方式。至于为什么要设置浏览器的使用编码呢,因为浏览器的编码默认是GBK,你得告诉它使用什么编码来解析服务器发来的数据。
解决方法
第一种(不推荐)
//设置服务器字符集为UTF-8
resp.setCharacterEncoding("UTF-8");
//通过响应头,设置浏览器也使用UTF-8字符集
resp.setHeader("Content-Type", "text/html; charset=UTF-8");
第二种(推荐)
//它会同时设置服务器和客户端都使用UTF-8字符集,还设置了响应头
//此方法一定要在获取流对象之前调用才有效
resp.setContentType("text/html; charset=UTF-8");
现在就可以回正常访问啦