遇到的问题:

程序需要发送http GET请求到服务器,请求的参数中包含了中文字符。程序中参数为UTF-8格式,且经过了UTF-8 URL编码再发送。使用的tomcat服务器,但服务器端后台程序中取到的参数的中文是乱码。

问题原因:

经过分析,应该是Tomcat在解析参数的时候没有使用正确的编码格式(UTF-8)去解码。

查看$TOMCAT_HOME/webapps/tomcat-docs/config/http.html这个说明文档,有如下说明: 
URIEncoding:This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used.

也就是说,如果没有设置URIEncoding, Tomcat默认是按ISO-8859-1进行URL解码,ISO-8859-1并未包括中文字符,这样的话中文字符肯定就不能被正确解析了。

解决办法:

修改Tomcat的Server.xml,在Connector标签中加上URLEncoding参数:

<Connector port="8080" maxThreads="150" minSpareThreads="25" 
maxSpareThreads="75" enableLookups="false" redirectPort="8443" 
acceptCount="100" debug="99" connectionTimeout="20000" 
disableUploadTimeout="true" URIEncoding="UTF-8"/>

最新文章

  1. MSSTDFMT.DLL无法注册的解决
  2. SQL Server调优系列基础篇(并行运算总结篇二)
  3. 使用VIM插件ctags来阅读C代码
  4. 您的应用静态链接到的 OpenSSL 版本有多个安全漏洞。建议您尽快更新 OpenSSL
  5. java项目命名规范
  6. ffmpeg-20160806-bin.7z
  7. 如何将 DVD 转成 ISO
  8. jQuery对象入门级介绍
  9. POJ 3253 Fence Repair【二叉堆】
  10. jQuery选择器模糊匹配
  11. loadrunner 怎么能得到返回的http状态?
  12. Java 文件下载
  13. CodeForces 554B(扫房间)
  14. Adaboost的几个人脸检测网站
  15. 企业架构研究总结(39)——TOGAF架构能力框架之架构委员会和架构合规性
  16. 在阿里云ECS(CentOS6.5)上安装ftp
  17. SessionStateMode之Redis共享session
  18. 不能忽视 php warning
  19. PIL库的运用
  20. 20个最常用的Windows命令行

热门文章

  1. CYQ.Data V5 从入门到放弃ORM系列:教程 - MProc类使用
  2. JavaScript WEB页面调试
  3. 【转】easyui $.message.alert 点击右上角的关闭按钮时,不执行定义的回调函数
  4. Cocos2d-x 3.X手游开发实例详解
  5. Java Eclipse解决中文字体太小
  6. spring mvc参数绑定
  7. 关于R中的mode()和class()的区别
  8. Delphi中线程类TThread实现多线程编程1---构造、析构……
  9. IIS7.5真变态,服务器时间格式导致不生成WebResource.axd
  10. TKinter布局之pack
  11. TCP/IP数据包结构具体解释
  12. mac下git中文乱码
  13. CircularProgressBar
  14. 代码bug
  15. CentOS Linux解决 Device eth0 does not seem to be present
  16. .netCore数据库迁移
  17. CF | Alyona and Mex
  18. JavaWeb学习(三十)———— 数据库连接池
  19. Linux进程内存分析pmap命令
  20. libgdx学习记录15——音乐Music播放