如何设置WildFly 9.0.1.Final httpUri编码

时间:2015-08-02 10:45:15

标签: encoding wildfly

由于我想使用JavaEE7JPA2.1,我转向WildFly9.0.1 Final,符合我的要求。

WildFly9.0.1最终使用 underow 作为Web服务器。

汉字(以UTF-8编码)从网页浏览器转移到jboss服务器转为乱码字,下面是日志:

2015-08-02 18:58:38,893 INFO  com.gcable.action.people.people_type.PeopleTypeAction.printHttpRequest:76
 - peopleTypes[0].pt_name=[Ljava.lang.String;@3e31e9ad[{│フテ¥ᄒᄋ│ミᄄ}]

我疯了!上帝拯救我!

我在standalone.xml中试过了这个:

<servlet-container name="default" default-encoding="UTF-8">

但它不起作用。

此外,我还尝试在部署的战争中在jboss-web.xml中添加WEB-INF

<jboss-web version="9.0" xmlns="http://www.jboss.com/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.jboss.org/j2ee/schema/jboss-web_9_0.xsd">
<default-encoding>UTF-8</default-encoding>

它也不起作用。

2 个答案:

答案 0 :(得分:2)

我通过在standalone.xml的http-listener中设置编码来解决了这个问题(我使用了standalone-full.xml,但我认为没有区别)

<http-listener name="default" socket-binding="http" url-charset="ISO-8859-1"/>

对于迟到的回答感到抱歉,但今天我遇到了同样的问题。希望它会有所帮助。

答案 1 :(得分:0)

我终于试图将我的JPA2.1降级到2.0。 Jboss EAP 6.2完美地编码了非英文字符。

顺便说一下, 我找到了here来制作JBOSS EAP6,它实际上是一个使用JPA2.1而不是使用2.0的JavaEE6容器