[英]Character encoding filter, Korean characters encoding issues
我們有一個基於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個表。
我認為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")
ì§ìììì¸ë¯¸ë
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.