【发布时间】:2012-08-09 14:03:36
【问题描述】:
我的网络应用程序当前正在使用:
- JBoss AS7
- JSF2
- PrimeFaces
由于这个错误UTF-8 form submit in JSF is corrupting data 我设置了一个 @WebFilter 做
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
按照 BalusC 的建议(谢谢)。
简单来说,它总是可以正常工作。当我也需要使用相同的表单进行文件上传时,我遇到了另一个问题(例如http://www.primefaces.org/showcase-labs/ui/fileUploadDnd.jsf)
这是主要区别
<h:form enctype="multipart/form-data">
没有 enctype 属性,特殊的 unicode 字符仍然可读。
使用 enctype 属性,我找到“ciaò”而不是“ciaò”。
我的过滤器@WebFilter("/*") EncodingFilter 总是被调用。
可能的解决方案是将 JBoss 默认编码设置为 utf-8 吗?我该怎么做?
*** * 编辑 ****
我也尝试将 -Dfile.encoding=UTF-8 放在我的 JAVA_OPTS 中,但什么也没有......它不起作用:((请帮帮我!
【问题讨论】:
-
stackoverflow.com/a/11206837/617373 ,可能对你有帮助
-
不错但是.... 1) 你所说的“平台”是什么意思?操作系统? jboss-as?如何更改“默认编码” 2)我不想转换每个表单字符串......实际更好的解决方案是什么?如何修改素面?没有别的路可以走吗?
-
该答案中有一个解释,说明您应该在 primefaces jar 中修复什么以解决该问题(刚刚看到该答案,我真的不知道它是否与您的问题完全相同。)
标签: jsf file-upload utf-8 jboss primefaces