如何在一个primefaces webapp中设置charset?

让我与primefaces 3.1分享我独特的失望,直到现在……我在RichFaces应用程序中使用phew组件,当我意识到问题时,一切都很好,我的母语中的一些字符显示错误,甚至是UTF-8在所有地方宣布的charset我知道它是必需的。

当输入一些特殊字符如“圣保罗”并在页面中提交时,就会出现问题。 提交后的数据重新显示为“S?£o Paulo”

我已经尝试了下面的解决方法:

1)Eclipse IDE:文本文件enconding选项

2)jsf文件:

 

3)JBOSS server.xml:

  

4)的web.xml:

  

5)jsf文件:

  

6)将primefaces版本升级到3.2

谢谢你的帮助! 😉

我被迫创建一个filter,为每个请求设置charset …

 public class CharacterEncodingFilter implements Filter { @Override public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { response.setCharacterEncoding("UTF-8"); request.setCharacterEncoding("UTF-8"); chain.doFilter(request, response); } @Override public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } } 

这解决了我的问题

我只是取消注释conf / web.xml(Tomcat服务器web.xml)中过滤所有请求并转换为UTF-8的部分。

     setCharacterEncodingFilter org.apache.catalina.filters.SetCharacterEncodingFilter  encoding UTF-8     setCharacterEncodingFilter /*