Apache UTF-8问题,但不包括URIEncoding=";UTF-8“;

Apache UTF-8问题,但不包括URIEncoding=";UTF-8“;,apache,tomcat,encoding,utf-8,Apache,Tomcat,Encoding,Utf 8,嗨,我正在尝试使我正在开发的应用程序之一与UTF-8兼容。 我的环境如下:linux操作系统,apahce web服务器作为http侦听器,tomcat作为servlet引擎 配置了mod_jk和tomcat的apaches使用ajp连接器 我已经从少数网站上阅读了UTF-8的基本指南,并根据建议尝试了以下方法 为server.xml中的连接器设置URIEncoding=“UTF-8”和useBodyEncodingForURI=true 使用LANG=en_US.UTF8在bashrc/.pr

嗨,我正在尝试使我正在开发的应用程序之一与UTF-8兼容。 我的环境如下:linux操作系统,apahce web服务器作为http侦听器,tomcat作为servlet引擎

配置了mod_jk和tomcat的apaches使用ajp连接器

我已经从少数网站上阅读了UTF-8的基本指南,并根据建议尝试了以下方法

为server.xml中的连接器设置
URIEncoding=“UTF-8”
useBodyEncodingForURI=true

使用
LANG=en_US.UTF8在bashrc/.profile中设置语言

将apache服务器配置为默认使用utf-8编码 i、 e在中指定utf-8作为默认字符集

AddDefaultCharset utf-8
启动tomcat时将utf-8设置为java参数。使用

JAVA_OPTS="-Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8"
我还验证了我的网页是否配置了正确的元标记

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
至于chrome(可能还有IE,我没有检查)在哪里


知道这里出了什么问题吗

Allrite终于解决了这个问题。 下面的链接和底部报告的bug列表对于了解正在发生的马戏团非常有用:

基本上,我的一个过滤器试图读取请求参数,而这个过滤器需要这样做 要求读取查询参数之前,请先设置CharacterEncoding(desiredEncoding)

因此,我尝试添加设置字符编码的SetCharacterEncodingFilter,显然这也不起作用,因为这个过滤器在Tomcat7(不确定)以后的版本中可用,而我使用的是tomcat6.0.x

因此,我必须编写自己的过滤器来正确设置字符编码


有了这些,现在我可以把所有这些被管理的角色从我的脑海中抹去。从昨天晚上开始,他们就给我带来了太多麻烦。

请记住连接器中的URIEncoding=“UTF-8”似乎只处理GET请求而不是POST。。
Content-Type: application/x-www-form-urlencoded; charset=utf-8 
Content-Type: application/x-www-form-urlencoded