乱码出现的原因
第一种乱码:
> 对于 getWriter 获取到的字符流,响应中文必定出乱码,原因是服务端在进行编码时默认使用的 ISO-8859-1 格式的编码,该编码不支持中文 • 1
第二种乱码:
对于getOutputStream() 方式获取到的字节流,响应中文时,由于本身就是传输的字节,所以此时可能出现乱码
其根本原因就是:客户端和服务端不支持中文
解决方法
解决以上两种乱码方法相同:
方法一: 分别设置客户端和服务端的编码
1.设置服务端编码格式
response.setCharacterEncoding(“UTF-8”);
2.设置客户端的编码格式
response.setHeader(“content-type”,“text/html;charset=UTF-8”);
方法二: 同时设置客户端和服务端的编码格式
response.setContentType(“text/html;charset=UTF-8”);