【发布时间】:2014-01-08 03:38:03
【问题描述】:
在我的应用程序中,我将其设置为两种语言。英语和法语。
用英语,没关系。但是在阅读法语的属性文件时,它最终会显示 mojibake。
我的属性文件中有这样的:
example.french.char=é
但它没有在应用程序中正确显示。我正在 Windows 中查看我的应用程序。我不想用 Unicode 字符替换法语字符。我希望它们像通常出现的那样从属性文件中读取。
我怎样才能让它工作? 请建议。我可以在不使用 Unicode 的情况下查看法语字符吗?
我的属性文件以 UTF-8 编码。 请建议!
我也尝试了以下..
public class CharacterEncodingFilter implements Filter{
private FilterConfig config;
@Override
public void destroy() {
setConfig(null);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filter) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
filter.doFilter(request, response);
}
@Override
public void init(FilterConfig config) throws ServletException {
setConfig(config);
}
public FilterConfig getConfig() {
return config;
}
public void setConfig(FilterConfig config) {
this.config = config;
}
}
并将其添加到 web.xml 中
<filter>
<filter-name>charEncoding_Filter</filter-name>
<filter-class>com.edfx.tum.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>charEncoding_Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
但它仍然显示 mojibake。
【问题讨论】:
标签: jsf-2 primefaces