Stuts2 Tiles Tomcat涉嫌将UTF-8改为?

时间:2008-09-11 08:39:22

标签: java utf-8 internationalization struts2 tiles

我有一些国际化的困境:

我的UTF-8字符串字段在浏览器中呈现为????从数据库返回后。

使用Hibernate从数据库中检索后,使用eclipse调试器在检查时正确显示String字段。

然而Struts2 / Tiles将这些字符串呈现为????在发送到浏览器的HTML中。

charset指令出现在HTML标头中:     

也许我需要在struts2或tile配置中添加一些东西?

4 个答案:

答案 0 :(得分:1)

OMG - 事实证明原因是一个完整的WTF?

我们所有的瓷砖响应都是由一个忽略

的本土servlet提供的

<%@ page contentType="text/html; charset=UTF-8" %>

指令(谁知道还有什么)。

TilesDispatchExtensionServlet:血腥的建筑宇航员,我握拳。

答案 1 :(得分:0)

尝试在&lt; html /&gt;上设置lang属性元件。

HTML示例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja"> 

XHTML示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> 

答案 2 :(得分:0)

你可以尝试这样的事情。

它取自Character Sets and Encodings上的太阳页面。 我认为这必须是你jsp中的第一行。

<%@ page contentType="text/html; charset=UTF-8" %>

答案 3 :(得分:0)

您需要使用过滤器。参见:

http://wiki.apache.org/tomcat/Tomcat/UTF-8