【发布时间】:2015-04-17 21:35:56
【问题描述】:
我是 Java EE webapp 开发人员(spring、hibernate、jsf、primefaces),我发现 primefaces 组件 DataTable 存在问题。问题涉及列排序,特别是对带有特殊字符的单词进行排序。
在我的语言(捷克语)中,我们使用诸如(č、ř、ž 等)之类的字符,并且以这些字符开头的单词在表格末尾排序。这就是问题所在。它们应该在适当的字母之后排序,例如“č”应该在“c”之后,“ř”应该在“r”之后等等,而不是在所有没有特殊字符的记录之后。
我已经在使用 Spring Framework 提供的 CharacterEncoding 过滤器,它应该强制对每个请求和响应使用字符集 (UTF-8)。但这并不能解决问题。下面是过滤器的配置:
<filter>
<filter-name>charEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
有没有办法纠正这种行为?
【问题讨论】:
标签: java sorting primefaces character-encoding