0
点赞
收藏
分享

微信扫一扫

请求对象 request 和响应对象 response(7)_Request 请求 get 方式中文乱码处理

单调先生 2022-03-30 阅读 46


本系列博客汇总在这里:请求对象 request 和响应对象 response 汇总


目录

  • ​​Request 请求 get 方式中文乱码处理​​

Request 请求 get 方式中文乱码处理

  1. 当我们采用 get 请求时
    前面讲述的 post 的处理方式不再生效
    请求对象 request 和响应对象 response(7)_Request 请求 get 方式中文乱码处理_javascript
    请求对象 request 和响应对象 response(7)_Request 请求 get 方式中文乱码处理_中文乱码_02请求对象 request 和响应对象 response(7)_Request 请求 get 方式中文乱码处理_中文乱码_03
    GET 参数不在请求正文中,而是在 URL 中。所以不能使用 request 的 setCharacterEncodng() 来设置 GET 参数的编码。

  2. 解决办法
    (1)第一种方式
    我们可以采用字符串转码的方式来处理
    请求对象 request 和响应对象 response(7)_Request 请求 get 方式中文乱码处理_javascript_04
    (2)第二种方式
    设置 <Connector> 元素的 URIEncoding 属性的值为UTF-8。即 conf\server.xml 中的 <Connector> 元素的 URIEncoding 属性。
    请求对象 request 和响应对象 response(7)_Request 请求 get 方式中文乱码处理_javascript_05
    请求对象 request 和响应对象 response(7)_Request 请求 get 方式中文乱码处理_中文乱码_06
    一旦设置了这个属性,那么对于 GET 参数就直接是 UTF-8 编码的了。但是,<Connector> 元素来说,对整个 Tomcat 都是有效的!
    (3)第三种方式
    JavaScript 对超链接做 URL 编码
    处理这个问题的办法是把 GET 请求中的参数使用 JavaScript 做 URL 编码,URL 编码后的内容就不再是中文了,这样 IE6 也就不会丢失字节了。
    请求对象 request 和响应对象 response(7)_Request 请求 get 方式中文乱码处理_javascript_07
    请求对象 request 和响应对象 response(7)_Request 请求 get 方式中文乱码处理_中文乱码_08
    在使用 URL 编码后,“魏宇轩” 已经变成了 %E9%AD%8F%E5%AE%87%E8%BD%A9。这样就不会再丢失字节了。

如有错误,欢迎指正!



举报

相关推荐

0 条评论