title: 处理响应乱码问题
date: 2015-12-29 14:24:47
categories: servlet
tags: servlet
xl_echo编辑整理,欢迎转载,转载请声明文章来源。更多案例、资料请联系QQ:1280023003
解决网页面上输出乱码问题
使用字节流响应数据
response.getOutputStream().write(“这是一个字节输出”.getBytes());//会乱码,需要编码
解决字节流输出中文乱码
//设置浏览器默认打开的时候采用的字符集编码
response.setHeader(“content-Type”,“text/html;charset=UTF-8”);
//设置中文转换成字节数组的时候取出的编码
response.getOutputStream().write(“这是一个字节输出”.getBytes(“UTF-8”));
使用字符流响应数据
response.getWriter().Println(“这是一个字符输出”);
设置浏览器默认打开的时候采用的字符集编码
response.setHeader(“Content-Type”,“text/html;charset=UTF-8”);
设置response的字符流的缓冲区编码
response.setCharacterEncoding(“UTF-8”);
response.setContentType(“text/html;chcarset=UTF-8”);在字节流中,可以代替以上两句
BUG
如果字符集中,有“()”,暂时没法解决
解决两种提交方式的乱码问题:
POST提交方式:设置request的缓冲区编码:
request.setCharacterEncoding(“UTF-8”);
GET提交方式:
new String(“”.getBytes(“ISO-8859-1”),”UTF-8”);