【发布时间】:2011-11-04 09:24:48
【问题描述】:
我有一个奇怪的问题,即使用在 Tomcat 6 上运行的 Struts 2 和 MySQL 数据库在 JSP/Servlet webapp 中显示扩展字符。我已经将此应用程序部署到两台不同的服务器上,它们都连接到同一个数据库并且似乎具有相同的设置(相同版本的 Ubuntu、相同版本的 tomcat、相同版本的 MySQL 等)和一台服务器(我的开发服务器)扩展字符显示正常,但在另一个(我的生产服务器 - 典型!)上它们不显示。所以我假设一定有一些服务器配置设置我没有在生产服务器上正确完成。
我检查过的一些事情:
-
我的所有
.jsp页面中都有以下几行:<%@ page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8" %> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta equiv="Content-Type" content="text/html; charset=UTF-8" /> 生产服务器和开发服务器上的Tomcat
server.xml文件相同,包含URIEncoding="UTF-8"。生产服务器和开发服务器上的
web.xml文件是一样的。数据库中的字符集设置正确,其中包含正确的字符。我还可以看到它们在开发服务器上正确显示,这让我认为这不是数据库问题。
任何建议将不胜感激。
【问题讨论】:
-
在 server.xml 的连接器配置中添加 URIEncoding="UTF-8" 然后尝试。
-
谢谢阿萨德。 URIEncoding="UTF-8" 在我的开发服务器和生产服务器上的 server.xml 文件中,但它似乎仍然不适用于生产服务器。
标签: mysql jsp tomcat utf-8 character-encoding