2011-05-29 66 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