如何在一个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 /*