2011-10-31 68 views
1

我遇到了一個希伯來字母和UTF-8的問題,我需要一些幫助來澄清。Spring UTF-8希伯來語支持

我們的webapp使用的是spring mvc 2.5.6,目前在輸入字段中支持utf-8字符 - 比如丹麥語字母和一些希伯來字母,如ר和ס。但是,並非所有的希伯來字符都支持。例如,如果我使用搜索字符串像רעננה它是「翻譯」到רעננ ?提交時。很顯然,這不是支持!

的字符集編碼是利用彈簧的characterEncoding濾波器等設定:

<filter> 
     <filter-name>charsetFilter</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> 
</filter> 

而且因爲它是obviuos,它正在爲某些字符。需要什麼來支持所有希伯來語字母?

+0

搜索條件是提交作爲一個url參數,並在url中,它看起來很好。它使用Java提取: new String(ServletRequestUtils.getStringParameter(request,「searchString」,「」)。getBytes(),「UTF-8」); 如果您需要其他任何東西,只要問問! :) – Hoof

回答

0

我終於找到了解決方案。在設置請求參數之前,我使用javascript的encodeURIComponent(string)searchString來代替使用java的新String(字節,編碼)。在java中,術語使用URLDecode.decode(字符串,編碼)進行解碼,其工作得很好。

0

你在使用什麼服務器?例如在默認情況下,Tomcat使用ISO-8859-1字符編碼時,從瀏覽器,您可以通過

<Connector port="8090" URIEncoding="UTF-8"/> 

在server.xml定製接收解碼網址,即使您沒有使用Tomcat同樣的問題可能發生。

+0

非常感謝您的答案。但是,無論如何,它確實無助於我 - 儘管我認爲,這也可能是一個好主意。 我進一步研究了這個問題,並且參數實際上不是「張貼」 - 也就是說,沒有提交。該頁面只是一個JavaScript重定向,在URL中設置了正確的參數(未完成編碼)。然後在一個春天的AbsctractController從請求中拉出一個解釋 - 這是一切都出錯的地方。即使使用URI編碼集。有任何想法嗎? – Hoof