JSF2.0:primefaces4.0的Mojibake

时间:2014-07-03 10:24:45

标签: mysql jsf netbeans primefaces mojibake

Mojibake问题

[我使用netbeans - jsf 2.2 - primefaces 4.0 - Mysql数据库]

我在我的JSF应用程序中使用阿拉伯语,不幸的是,阿拉伯语值被发送到服务器,就像其他字符一样(بØسØØ)(由调试器看到),因此存储在数据库中。

该项目在开始时运作良好,但在我的项目中执行其他任务之后会出现此问题,但导致问题的原因是我不知道

以下解决方案已完成但效果不佳

在每个jsf页面(.xhtml页面)

使用以下行
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>

使用以下过滤器

<filter>
    <filter-name>encoding-filter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encoding-filter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
  </filter-mapping>

并且我也尝试了我的书面过滤器

我使用这样的表格

<h:form  acceptcharset="UTF-8" enctype="application/form-data">

任何人都可以帮助我

1 个答案:

答案 0 :(得分:0)

这里的问题

重新配置服务器以使用UTF-8而不是ISO-8859-1作为默认编码。在Glassfish中,这将是添加/WEB-INF/glassfish-web.xml文件的以下条目:

<parameter-encoding default-charset="UTF-8" />