在响应中,如果我们响应的内容中含有中文,则有可能出现乱码。这是因为服务器响应的数据也会经过网络传输,服务器端有一种编码方式,在客户端也存在一种编码方式,当两端使用的编码方式不同时则出现乱码。
getWriter ()的字符乱码
对于 getWriter ()获取到的字符流,响应中文必定出乱码,由于服务器端在进行编码时默认会使用 ISo -8859-1格式的编码,该编码方式并不支持中文。
要解决该种乱码只能在服务器端告知服务器使用一种能够支持中文的编码格式,比如我们通常用的" UTF -8"。
response . setcharacterEncoding (" UTF -8");
此时还只完成了一半的工作,要保证数据正确显示,还需要指定客户端的解码万式。
response . setHeader (" content - type "," text / html ; charset = UTF -8");两端指定编码后,乱码
就解决了。一句话:保证发送端和接收端的编码一致
1/设置服务端的编码
response . setCharacterEncoding (" UTF -8"");
1/设置客户端的响应类型及编码
response . setHeader (" content - type "," text / html ; charset = UTF -8");
//得到字符输出流
Printwriter writer = response . getwriterO ; writer . write ("ch2>你好</h2>"");
针对以上问题最好解决方案就是:
response.setContentType("text/html;charset=UTF-8");