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

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

最近遇到的一个关于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请求,中文会解码出错,英文及数字等没有影响。

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


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


官方对配置的定义如下:


目录
相关文章
|
6月前
|
应用服务中间件
tomcat服务器get、post请求及响应中文乱码问题
tomcat服务器get、post请求及响应中文乱码问题
|
5月前
|
应用服务中间件
tomcat8.5处理get请求时,控制台输出中文乱码问题的解决
tomcat8.5处理get请求时,控制台输出中文乱码问题的解决
59 0
|
Java
Java Web应用开发案例|用过滤器解决HTTP请求导致的乱码问题
在Web应用开发中经常会遇到乱码问题,使用过滤器解决HTTP 请求导致的乱码问题,是十分有效的解决方案。
132 0
Java Web应用开发案例|用过滤器解决HTTP请求导致的乱码问题
jmeter响应结果乱码处理和基本使用
jmeter响应结果乱码处理和基本使用
|
JSON 前端开发 Java
SpringMVC:请求乱码问题处理和json乱码解决方案
SpringMVC:请求乱码问题处理和json乱码解决方案
SpringMVC:请求乱码问题处理和json乱码解决方案
JavaWeb - 过滤器之乱码
JavaWeb - 过滤器之乱码
124 0
|
Java 应用服务中间件 程序员
struts2.2.3 配置中文乱码拦截过滤器 解决接收中文参数乱码问题
java 编程中得中文乱码问题,一直都是个困扰程序员的问题。
206 0
|
数据库 Java Spring
SSM项目POST中文乱码解决方案
在本地搞了一个SSM的项目练手,修改数据的时候,提交中文数据后居然乱码了。网上一顿狂搜,最终花了几个小时终于解决。 遂加以记录,以便不时之需。 就这么个表单,如果提交中文修改就会乱码,首先确定项目和数据库编码均为UTF-8格式,页面中也有设置编码格式为UTF-8 直接给出解决步骤: 1.
1645 0
|
应用服务中间件 Android开发 数据安全/隐私保护
Eclipse中Tomcat实现表单Get和Post响应
前言: URL: 统一资源定位符。http://localhost:8080/day09/testImg.html。只能定位互联网资源。是URI的子集。 URI: 统一资源标记符。/day09/hello。
1764 0