我的网络应用程序目前正在使用:
由于此错误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吗?我怎么能这样做?
*** *编辑****
我也尝试在我的JAVA_OPTS中放入-Dfile.encoding = UTF-8但没有......它不起作用:((请帮帮我!
答案 0 :(得分:1)
这是由PrimeFaces中的另一个错误引起的。另请参阅this answer以获取解释和解决方案。
可能的解决方案是将JBoss默认编码设置为utf-8吗?我该怎么做?
是。怎么做取决于JBoss版本。在拥有server.xml
(直到版本6.x)的用户中,需要将URIEncoding="UTF-8"
添加到<Connector>
元素。在拥有standalone.xml
(7.x及更新版本)的用户中,需要将<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
添加到<system-properties>
元素。