首页Java web spring MVC APP应用程序http servlet response
httpservletresponseoutputstream中文乱码解决方法
当HttpServletResponse使用OutputStream输出中文时,如果不设置编码,则会出现乱码。 乱码的原因如下。
1.Tomcat服务器的默认编码为ISO-8859-1,不支持中文。 必须告诉浏览器和服务器,使用UTF-8编码。
2 .服务器端、浏览器端两边代码不一致。 例如,在服务器用utf-8、浏览器用gb2312中也发生乱码。
解决方法:
publicvoidoutputchinesebyoutputstream (httpservletresponseresponse ) throws IOException{
String data='javaschool免费在线java教程';
输出流输出流=response.get输出流(; 获取输出流输出流
response.setheader (' content-type ',' text/html; charset=UTF-8 '; //控制设置响应标头以在浏览器中以UTF-8编码显示数据。 不输入这个词的话,浏览器上显示的会变成乱码
//getBytes ()方法根据操作系统的区域设置选择转换代码表,而不使用参数,并在中文操作系统中使用GB2312代码表
byte [ ] databyte arr=data.getbytes (utf-8 ); 指定将//字符转换为字节数组,并使用UTF-8编码进行转换
输出流. write (databyte arr ); 使用OutputStream流向客户端输出字节数组
}
response.setheader (' content-type ',' text/html; charset=UTF-8 ' )设置响应标头以控制浏览器并使用utf-8编码显示数据
使用OutputStream流向客户端浏览器并输出中文,使用UTF-8编码进行输出。 此时,控制客户端浏览器以UTF-8编码打开。 否则,显示时会出现中文乱码。
总结
1 .如果中文回来了呢? 文字。 这表示未标记http servlet response.setcharacterencoding ' utf-8 '。 这句话。
2 .如果返回的中文乱码为“煨汤”,则表示存在浏览器分析问题,请检查是否忘记了response.setheader (' content-type )、' text/html ) charset=UTF-8 '; 这句话。
3 .如果仍然存在乱码,请指定html文件内容的编码方式
版权声明:本文为JAVASCHOOL原创文章,未经本站许可不得转载。