首页 > 其他 > 详细

Wildfly8 POST请求中文乱码分析与解决

时间:2015-07-24 14:27:11      阅读:1371      评论:0      收藏:0      [点我收藏+]

最近遇到的一个关于POST请求中文乱码的问题,原本应用是在TOMCAT上运行的,切换到Wildfly8后,测试环境是正常的,但生产环境下客户端发出的相同请求在服务端获取到的中文出现了乱码,在经过定位后发现是Wildfly8的一个配置引起的。

问题分析如下:

在HTTP的POST请求中,如果是这种情况 Content-Type: application/x-www-form-urlencoded;charset=utf-8 ,若没有设置charset=utf-8,这时可能会出现请求参数中文乱码的情况,具体是否会出现还要看Servlet容器的配置,在TOMCAT 中 useBodyEncodingForURI="true" 的话,则Request解析请求body的参数时会用utf-8解码,这时不会出现乱码,如果 useBodyEncodingForURI="false" 的话则会出现中文乱码;在Wildfly中 相同作用的配置在Configuration -> Web -> Servlets -> Common -> Default encoding 如果Default encoding设置为UTF-8则不会出现中文乱码,如果设置为空,则会出现中文乱码,容器默认都是采用ISO 8859-1进行解码,对于用UTF-8编码的POST请求,中文会解码出错,英文及数字等没有影响。

出现中文乱码的配置如图:

技术分享

设置了默认编解码方式的配置如图:

技术分享

官方对配置的定义如下:

技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

Wildfly8 POST请求中文乱码分析与解决

原文:http://blog.csdn.net/zhaowen25/article/details/47038629

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!