JavaWeb之response响应中文乱码问题

Posted 这名字还可以改吗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb之response响应中文乱码问题相关的知识,希望对你有一定的参考价值。

response向页面响应中文乱码问题

 字节流

* 有可能乱码,与中文转换成字节数组、浏览器打开的默认字符编码有关

* 解决方式:将中文转成字节数组的时候和浏览器默认打开的时候采用的字符集一致

response.setHeader("Content-Type", "text/html;charset=utf-8");
response.getOutputStream().write("张三".getBytes("utf-8"));

字符流

* 肯定乱码,因为response字符缓冲区的默认编码是iso-8859-1

* 解决方式:设置response获得字符流缓冲区的编码和设置浏览器默认打开时候采用的字符集一致即可

//设置浏览器默认打开字符集
response.setHeader("Content-Type", "text/html;charset=utf-8");
//设置字符流缓冲区编码
response.setCharacterEncoding("utf-8");
response.getWriter().println("张三");
* 使用字符流向页面响应还有一种简化写法
response.setContentType("text/html;charset=utf-8");
response.getWriter().println("张三");

 

 

以上是关于JavaWeb之response响应中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb学习总结(十五)--过滤器的应用

Java实战之04JavaWeb-02Request和Response

Servlet之中文乱码问题入门版

JavaWeb/ forward跳转到jsp页面后出现中文乱码问题

Servlet学习——通过response设置响应体及中文乱码问题

Javaweb-Servlet总结(概述接口使用配置获取请求方式路径操作Request对象Response对象)