我们有一个基于Spring MVC的多语言Web应用程序。我们在web.xml中设置了CharacterEncodingFilter,如下所述
<filter>
<filter-name>SetCharacterEncodingFilter</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>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
使用这些配置,应用程序正常运行。
当我们从jsp“직원의상세미니”传递这个韩国角色时,在我们的服务层中,我们发现这个角色被编码为“ì§ìì씸¸¸“”
我们有一个功能,即使用收到的所有者名称查询jdbc元数据,以获取其中可用的表格,如下所述
ResultSet resultSetTables = dbMetadata.getTables(owner,owner, "%", tableTypes);
1)此功能
ResultSet resultSetTables = dbMetadata.getTables("직원의상세미니","직원의상세미니", "%", tableTypes);
返回架构“직원의상세미니”
下的7个表格当使用编码字符串“ì§ìì츸ë¸ë”
运行时ResultSet resultSetTables = dbMetadata.getTables("ì§ìììì¸ë¯¸ë","ì§ìììì¸ë¯¸ë", "%", tableTypes);
返回0个相同模式下可用的表“직원의상세미니”。
答案 0 :(得分:1)
我认为Tomcat是您的问题,您的URI编码可能默认为HTTP连接器中的ISO-8859-1。
http://tomcat.apache.org/tomcat-5.5-doc/config/http.html,您可能必须将URIEncoding设置为UTF-8并查看是否有帮助。
我在python控制台上快速尝试,如果我使用iso-8859-1提供的字符串,我会得到与你发布的相同的乱码。
>>> a = '직원의상세미니'
>>> print a.decode("iso-8859-1")
ì§ìììì¸ë¯¸ë