获取的中文参数乱码:
一, get方式传参,中文乱码
修改tomcat中的配置server.xml
【Servers项目中去找server.xml文件,然后修改】
在修改端口的标签Connector中添加属性URIEncoding=”XXX”(一般情况下,要么GBK,要么UTF-8)
<Connector URIEncoding=”UTF-8″ connectionTimeout=”20000″ port=”8989″ protocol=”HTTP/1.1″ redirectPort=”8443″/>
【注意】:
正常情况下,要在eclipse中修改server.xml文件,这个文件会覆盖tomcat中的server.xml。
但是有的版本的eclipse不按套路出牌,它只在当下修改server.xml有用,等我们再次运行tomcat,
则用tomcat中server.xml 替换eclipse中的server.xml,所以要注意。
二,post方式传参,乱码
获取参数【之前】,先设置一下request中的编码:
request.setCharacterEncoding(“UTF-8”)
回写数据乱码
【默认】情况下浏览器会采用【中文简体(GBK)】来解析响应正文
我们可以在servlet设置【响应头部】,来通知浏览器本次响应正文中的内容编码是什么
response.setContentType(“text/html;charset=utf-8”);
在response获得out输出流之前,我们还需要设置一下这个输出流是用什么编码来输入内容
response.setCharacterEncoding(“UTF-8”);
注意:响应内容的整体格式(格式的控制由tomcat负责)
1.响应状态行【tomcat自动处理】
2.消息报头/响应头部【用户设置】
3.\r\n
4.响应正文【tomcat帮我们自动填充】