由于我想使用JavaEE7
和JPA2.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>
它也不起作用。
答案 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容器