【发布时间】:2013-10-31 18:38:21
【问题描述】:
您好,我正在尝试使我正在开发的应用程序之一与 UTF-8 兼容。 我的环境如下:linux os,apahce web server作为http监听器,tomcat作为servlet引擎
apache 配置了 mod_jk,tomcat 使用 ajp 连接器。
我已经从几个站点阅读了 UTF-8 的基本指南,并根据我尝试了以下建议的建议
在 server.xml 中为连接器设置 URIEncoding="UTF-8" 和 useBodyEncodingForURI =true
使用LANG =en_US.UTF8在 bashrc/.profile 中设置语言
配置apache服务器默认使用utf-8编码 即在
中指定 utf-8 作为默认字符集AddDefaultCharset utf-8
在启动 tomcat 时将 utf-8 设置为 java args。使用
JAVA_OPTS="-Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8"
我还验证了我的网页有正确的元标记配置为
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
尽管如此,我还是难以阅读 UTF-8 字符。知道我哪里出错了吗?
一个有趣的观察是,我只在使用 internet exporer 和 chorme 时遇到困难。 当我使用火狐将 utf-8 字符发送到我的服务器时,我能够正确读取它们。但是,IE 和 chorme 的字符越来越混乱。知道问题出在哪里吗?
我无法在 chrome 和 Fire fox 之间发现的唯一变化是 contentType 标头中的变化。
firefox请求的请求头如下
Content-Type: application/x-www-form-urlencoded; charset=utf-8
对于 chrome(以及可能的 IE,我没有检查)在哪里
Content-Type: application/x-www-form-urlencoded
知道这里出了什么问题吗?
【问题讨论】:
标签: apache tomcat encoding utf-8