web中文变成问号问题解决
在排除了基本可能出现乱码的其他问题后 如果网页上的编码还是乱码 看看是不是response响应编码的问题
PrintWriter getWriter()
获得字符流,通过字符流的 write(String s) 方法可以将字符串设置到 response 缓冲区中,随后 Tomcat 会将 response 缓冲区中的内容组装成 Http 响应返回给浏览器端。
关于设置中文的乱码问题
response 缓冲区的默认编码是 iso8859-1,此码表中没有中文,可以通过setCharacterEncoding(String charset) 设置 response 的编码。但是这样客户端还是不能正常显示文字。
因为浏览器的默认编码是本地系统的编码,因为我们都是中文系统,所以客户端浏览器的默认编码是 GBK。
我们可以通过 response 的setContentType(String type)方法指定页面解析时的编码是UTF-8。
因为该方法含有setCharacterEncoding的功能,所以在实际开发中只要编写 **
response.setContentType(“text/html;charset=UTF-8”)
**;就可以解决页面输出中文乱码问题了。