本系列博客汇总在这里:请求对象 request 和响应对象 response 汇总
目录
- Request 请求 get 方式中文乱码处理
Request 请求 get 方式中文乱码处理
当我们采用 get 请求时
前面讲述的 post 的处理方式不再生效
GET 参数不在请求正文中,而是在 URL 中。所以不能使用 request 的 setCharacterEncodng() 来设置 GET 参数的编码。解决办法
(1)第一种方式
我们可以采用字符串转码的方式来处理
(2)第二种方式
设置 <Connector> 元素的 URIEncoding 属性的值为UTF-8。即 conf\server.xml 中的 <Connector> 元素的 URIEncoding 属性。
一旦设置了这个属性,那么对于 GET 参数就直接是 UTF-8 编码的了。但是,<Connector> 元素来说,对整个 Tomcat 都是有效的!
(3)第三种方式
JavaScript 对超链接做 URL 编码
处理这个问题的办法是把 GET 请求中的参数使用 JavaScript 做 URL 编码,URL 编码后的内容就不再是中文了,这样 IE6 也就不会丢失字节了。
在使用 URL 编码后,“魏宇轩” 已经变成了 %E9%AD%8F%E5%AE%87%E8%BD%A9。这样就不会再丢失字节了。
如有错误,欢迎指正!