Web中的中文参数乱码
中文参数乱码
1 get方式传参,中文乱码
修改tomcat中的配置server.xml
在修改端口的标签中添加属性URIEncoding="XXX"
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8989" protocol="HTTP/1.1" redirectPort="8443"/>
2 post方式传送,中文乱码
获取参数【之前】,先设置一下request中的编码:
request.setCharacterEncoding("UTF-8");
3 servlet中使用io流给浏览器写回数据,中文乱码
默认情况下浏览器会采用中文简体(GBK)来解析响应正文
我们可以在servlet设置响应的头部,来通知浏览器本次响应正文中的内容编码是什么
response.setContentType("text/html;charset=utf-8");
在response获得out输出流之前,我们还需要设置一下这个输出流是用什么编码来输入内容
response.setCharacterEncoding("UTF-8");
注意:响应内容的整体格式(格式的控制由tomcat负责)
1.响应状态行
2.消息报头/响应头部
3.\r\n
4.响应正文
给浏览器传输的内容都在响应正文中