HttpServletResponse OutputStream中文乱码如何解决方法呢?

java-教程王 Servlet 发布时间:2022-01-02 07:31:36 阅读数:8500 1
下文笔者讲述HttpServletResponse中OutputStream中文乱码的解决方法分享,如下所示:
HttpServletResponse采用OutputStream对象输出中文时
  如果不进行编码设置,可能会出现乱码,主要由于以下原理导致乱码
    1.Tomcat服务器默认的编码为ISO-8859-1,不支持中文,此时我们应同时设置浏览器和服务器,使用UTF-8编码。
    2.服务端,浏览器端编码不一致,如服务器用utf-8,浏览器用gb2312,此时会产生乱码
下文笔者将讲叙具体的处理方法

解决方法

public void outputChineseByOutputStream(HttpServletResponse response) throws IOException{
	String data = "java265.com 是一个java教程";
	OutputStream outputStream = response.getOutputStream();//获取OutputStream输出流
	response.setHeader("content-type", "text/html;charset=UTF-8");//通过设置响应头控制浏览器以UTF-8的编码显示数据,如果不加这句话,那么浏览器显示的将是乱码
	byte[] dataByteArr = data.getBytes("UTF-8");//将字符转换成字节数组,指定以UTF-8编码进行转换
	outputStream.write(dataByteArr);//使用OutputStream流向客户端输出字节数组
}

response.setHeader("content-type", "text/html;charset=UTF-8") 通过设置响应头控制浏览器以UTF-8的编码显示数据
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/Servlet/202201/245.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者