Java 字符编码过滤器,韩文字符编码问题
我们有一个基于SpringMVC的多语言web应用程序。我们在web.xml中设置了CharacterEncodingFilter,如下所述Java 字符编码过滤器,韩文字符编码问题,java,jakarta-ee,spring-mvc,character-encoding,Java,Jakarta Ee,Spring Mvc,Character Encoding,我们有一个基于SpringMVC的多语言web应用程序。我们在web.xml中设置了CharacterEncodingFilter,如下所述 <filter> <filter-name>SetCharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</fil
<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>
ResultSet resultSetTables = dbMetadata.getTables(owner,owner, "%", tableTypes);
1) 此函数
ResultSet resultSetTables = dbMetadata.getTables("직원의상세미니","직원의상세미니", "%", tableTypes);
返回架构下可用的7个表“직원의상세미니"
其中,当使用编码字符串“ì§ììì츸ë”运行时
返回0个在同一架构下可用的表“직원의상세미니“我认为Tomcat是您的问题,您的HTTP连接器中的URI编码可能默认为ISO-8859-1 ,您可能必须将URIEncoding设置为UTF-8,看看这是否有帮助 我在python控制台上快速地尝试了一下,如果我使用您随iso-8859-1提供的字符串,我会得到与您发布的相同的胡言乱语
>>> a = '직원의상세미니'
>>> print a.decode("iso-8859-1")
ì§ìììì¸ë¯¸ë
我认为Tomcat是您的问题,您的URI编码可能在HTTP连接器中默认为ISO-8859-1 ,您可能必须将URIEncoding设置为UTF-8,看看这是否有帮助 我在python控制台上快速地尝试了一下,如果我使用您随iso-8859-1提供的字符串,我会得到与您发布的相同的胡言乱语
>>> a = '직원의상세미니'
>>> print a.decode("iso-8859-1")
ì§ìììì¸ë¯¸ë
您使用的web容器是什么?当您说“pass”时,是通过GET吗?容器中的URI编码是一个很好的开始检查的候选者。如果一切顺利,那么我们可以检查堆栈的其他部分。我们使用的是tomcat webcontainer,从请求接收的请求参数是“ì§ìì츸”“您正在使用什么web容器?当你说“通过”时,这是通过了吗?容器中的URI编码是一个很好的候选项。如果一切顺利,那么我们可以检查堆栈的其他部分。我们使用的是tomcat webcontainer,从请求接收到的请求参数是“ì§ìììì¸ë¸ë”ya,这解决了问题,我之前已经有URIEncoding=“UTF-8”,但在server.xml的连接器中添加useBodyEncodingForURI=“true”解决了问题。非常感谢:)你解决了这个问题,我之前已经有了URIEncoding=“UTF-8”,但在server.xml的连接器中添加useBodyEncodingForURI=“true”解决了这个问题。非常感谢:)