2011-05-29 50 views
0

我在我的Tomcat項目中遇到了特殊字符的問題。我用utf-8編寫了UTF-8中的所有文件,並且仍然以任何形式編寫łóęążźć,並通過POST/GET方法發送它(我使用jQuery與jQuery一起完成),我得到了更多的東西如:[|zB�DTomcat UTF-8編碼故障

我該如何解決?我很確定這是因爲Tomcat(我正在使用6.0版本)。

+1

可能重複:[問題而提交UTF-8格式的textarea與jQuery/AJAX ](http://stackoverflow.com/questions/29751/problems-while-submitting-a-utf-8-form-textarea-with-jquery-ajax) – mc10 2011-05-29 18:50:14

+0

[servlet中的編碼問題](http:/ /stackoverflow.com/questions/4296654/encoding-problem-in-servlet)和[爲什麼POST不尊重字符集](http://stackoverflow.com/questions/4392610/why-does-post-not-honor-charset -but-an-ajax-request-does-tomcat-6) – BalusC 2011-05-29 18:59:56

+0

Tomcat已經具有在conf/web.xml文件中將字符編碼設置爲UTF-8的過濾器。你應該取消對'setCharacterEncodingFilter'的過濾器定義和fiter-mapping標記的註釋。 – 2016-07-29 11:10:16

回答

6

請注意,jquery的ajax()函數將始終以UTF-8編碼傳輸數據。

在Tomcat中,最好將連接器的uRIEncoding選項設置爲UTF-8(在server.xml中)。這主要是針對URL的編碼,但它似乎影響與POST請求(URL編碼)中使用的編碼,以及:

<Connector 
    port="8080" 
    redirectPort="8443" 
    uRIEncoding="UTF-8" 
    maxThreads="100"> 
+0

謝謝 - 它爲我解決了它。 – 2011-08-16 16:22:28

+0

謝謝,解決了我的問題。 – 2015-10-22 13:12:19