java - 如何在 primefaces webapp 中设置字符集?

标签 java jsf-2 character-encoding primefaces

<分区>

让我分享一下我对 primefaces 3.1 的独特失望,直到现在...... 我在 RichFaces 应用程序中使用了一个 phew 组件,当我意识到一个问题时,一切都很好,我母语中的一些字符显示错误,甚至在我知道它需要的所有地方都声明了 UTF-8 字符集。

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

我已经尝试过以下解决方法:

1)Eclipse IDE : 文本文件编码选项

2)jsf文件:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

3)JBOSS 服务器.xml:

<Connector protocol="HTTP/1.1" URIEncoding="UTF-8" port="${jboss.web.http.port}" address="0.0.0.0" 
         redirectPort="${jboss.web.https.port}" />

4)web.xml:

<?xml version="1.0" encoding="UTF-8"?>

5)jsf文件:

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

6)将primefaces版本升级到3.2

感谢您的帮助! ;-)

最佳答案

我被迫创建一个为每个请求设置字符集的过滤器...

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
    }

}

解决了我的问题

关于java - 如何在 primefaces webapp 中设置字符集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9710146/

相关文章:

java - Android 谷歌地图 v2 : resize polygon

java - Android/Jackson ObjectMapper 垃圾邮件日志包含 "Unable to resolve java.lang.Class<...> annotation class ..."

带有列切换器的 Primefaces 数据表与列上的排序功能冲突

jsf-2 - 刷新数据表后,Primefaces 数据表过滤器值丢失

csv - Google Apps 脚本 txt 文件 getDataAsString() 返回字符之间的 � 和方形符号

utf-8 - 什么是 UTF-8Y 编码?

Java 识别标记

java - 未检查与已检查的异常处理

java - JSF - 使用 ajax 调用更改 panelGroup - Beans、EL 和?

c++ - 与控制台应用程序中的字符串文字进行比较