JSF请求参数编码挣扎

时间:2016-09-28 13:52:34

标签: jsf encoding primefaces utf-8 jboss7.x

在我们的网络应用程序中,我们有不同的形式,几乎所有形式的文本输入字段都有编码问题。 当输入包含特殊字符如Ͳ时,站点Bean中的值显示问号。变音符号和重音例如。毫无问题地进入Bean。

使用firebug跟踪的已发送请求看起来很好。标题显示了UTF-8字符集:

application/x-www-form-urlencoded; charset=UTF-8

请求参数显示正确:

formInputPanel:comment    hello Ͳ

我google了很多,我找到的大多数解决方案告诉我通过web.xml实现过滤器来为请求设置正确的编码。问题是当调用过滤器时,编码被设置为UTF-8但参数已经被破坏并显示hello ?

我还在JBoss的系统属性的行中添加了以下内容,但没有任何结果:

<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>

除登录页面外,所有页面都会出现此问题。那里的参数很好地传递给了Bean。登录页面通过JSP-Page和LoginServlet实现。

也许有人可以给我一个提示,我可以在哪里找到问题。

1 个答案:

答案 0 :(得分:0)

通过调整JBoss配置中数据库连接的connection-url来解决问题:

jdbc:mysql://servername:3306/dbname?characterEncoding=UTF-8&amp;useUnicode=true

IDE控制台输出中的编码不是UTF-8编码的。因此,请求参数显示在错误的编码中,但值是正确的。