我們有一個基於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的metadata得到內的可用的表下面
ResultSet resultSetTables = dbMetadata.getTables(owner,owner, "%", tableTypes);
1)此函數
ResultSet resultSetTables = dbMetadata.getTables("직원의상세미니","직원의상세미니", "%", tableTypes);
返回7代表如所提模式「직원의상세미니」
其中當與經編碼的字符串「ì§ìììì¸ë¯¸ë」相同的模式下
ResultSet resultSetTables = dbMetadata.getTables("ì§ìììì¸ë¯¸ë","ì§ìììì¸ë¯¸ë", "%", tableTypes);
返回可用0表「運行직원의下提供상세미니」。
你使用的是什麼Web容器?當你說「通過」是通過GET?容器中的URI編碼是開始檢查的好候選者。如果這一切都很好,那麼我們可以檢查堆棧的其他部分。 – opensourcegeek
我們使用的是tomcat webcontainer,並且從請求中收到的請求參數是「ì§ìììì¸ë¸¸ëë」「 – sathishs