Gui*_*rme 8 java character-encoding primefaces jsf-2
让我与primefaces 3.1分享我独特的失望,直到现在......我在RichFaces应用程序中使用phew组件,当我意识到问题时,一切都很好,我的母语中的一些字符显示错误,甚至是UTF-8在所有地方宣布的charset我知道它是必需的.
当输入一些特殊字符如"圣保罗"并在页面中提交时,会出现问题.提交后的数据重新显示为"S?£o Paulo"
我已经尝试了下面的解决方法:
1)Eclipse IDE:文本文件enconding选项
2)jsf文件:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Run Code Online (Sandbox Code Playgroud)
3)JBOSS server.xml:
<Connector protocol="HTTP/1.1" URIEncoding="UTF-8" port="${jboss.web.http.port}" address="0.0.0.0"
redirectPort="${jboss.web.https.port}" />
Run Code Online (Sandbox Code Playgroud)
4)的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
Run Code Online (Sandbox Code Playgroud)
5)jsf文件:
<h:form acceptcharset="UTF-8" enctype="application/form-data">
Run Code Online (Sandbox Code Playgroud)
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
}
}
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题
| 归档时间: |
|
| 查看次数: |
9439 次 |
| 最近记录: |