[英]JSF ISO-8859-2 charset
我在jsf页面上设置适当的字符集时遇到问题。 我将MySql db与latin2(ISO-8859-2字符集)和latin2_croatian_ci排序规则一起使用。 但是,我在设置有关支持托管bean属性的值时遇到问题。
页面顶部的Page指令是:
<%@ page language="java" pageEncoding="ISO-8859-2" contentType="text/html; charset=ISO-8859-2" %>
在脑海中,我包括:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
我的表单标签是:
<h:form id="entityDetails" acceptcharset="ISO-8859-2">
我已经使用以下doFilter方法实现在web.xml中创建并注册了Filter:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("ISO-8859-2");
response.setCharacterEncoding("ISO-8859-2");
chain.doFilter(request, response);
}
但是,即当我通过inputText设置托管bean属性时,所有特殊(unicode)字符都被替换为'?'。 字符。
我真的没有其他想法如何将字符集设置为良好的页面。 有什么建议么?
提前致谢。
我所做的记录令人误解。 原来,stdout用'?'替换了特殊字符。 字符。 但是,写入db的字符也被替换为'?'。 标志。 问题的另一部分是尚未为正确的编码设置JConnector,因此数据库条目看起来非常类似于记录的属性。 我没有意识到这是两个问题的结合。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.