mod_jk utf-8 字符集设置

Posted

技术标签:

【中文标题】mod_jk utf-8 字符集设置【英文标题】:mod_jk utf-8 character set setup 【发布时间】:2012-08-21 07:10:23 【问题描述】:

我在 Ubuntu 中运行 httpd + mod_jk + 2 个 tomcat 服务器。当我以非拉丁语言提交表单时,我在数据库中得到了垃圾。 如果我通过 Tomcat 直接绕过 httpd 提交相同的表单,一切看起来都很好。 以下是我的配置:

/etc/apache2/conf.d/charset:

AddDefaultCharset UTF-8

tomcat1:

tomcat2:

JDBC 连接:

jdbc:mysql://localhost:3306/myapp?useEncoding=true&characterEncoding=UTF-8

/etc/apache2/mods-available/jk.conf(与我设置负载均衡器的文件相同)

JkOptions +ForwardURICompatUnparsed

我错过了什么吗? 谢谢!

【问题讨论】:

只有当我使用 doGet http 调用时才会出现问题,如果我使用 doPost 字符编码似乎可以正常工作。 【参考方案1】:

我发现了我的问题,我将 HTTP 连接器与在 Tomcat 的 server.xml 中声明了两次的 AJP 连接器混淆了。第二个声明甚至没有包含 URIEncoding 属性。

【讨论】:

【参考方案2】:
<Connector URIEncoding="UTF-8" port="8009" protocol="AJP/1.3" connectionTimeout="10000" keepAliveTimeout="10000" redirectPort="8443"/>

对我来说很好

【讨论】:

以上是关于mod_jk utf-8 字符集设置的主要内容,如果未能解决你的问题,请参考以下文章

ESC/POS 热敏打印机 UTF-8 字符集设置

mysql建表的时候设置表里面的字段的字符集是utf-8要怎么设置?默认建好后我去mysql里看字符集都是gbk

为 MySQL 设置默认字符集(UTF-8)避免产生乱码

mysql中通过my.cnf设置默认字符集utf-8

如何将 default.html 的字符编码设置为 UTF-8?

Linux 中设置 MySQL 字符集为 UTF-8