怀疑将Stuts2 Tiles Tomcat更改为UTF-8吗?
时间:2020-03-05 18:51:18 来源:igfitidea点击:
我遇到了一些国际化问题:
我的UTF-8字符串字段在浏览器中呈现为????从数据库返回后。
使用Hibernate从数据库中检索后,使用Eclipse调试器检查时可以正确显示String字段。
但是Struts2 / Tiles将这些字符串渲染为????在发送到浏览器的HTML中。
charset指令位于HTML标头中:
也许我需要在struts2或者tile配置中添加一些内容?
解决方案
回答
尝试在<html />元素上设置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">
回答
我们可以尝试这样的事情。
它取自sun在"字符集和编码"页面上。
我认为这必须是jsp的第一行。
<%@ page contentType="text/html; charset=UTF-8" %>
回答
OMG原来,原因是总的WTF?
我们所有的图块响应均由本地servlet负责,该servlet忽略了
<%@页面contentType =" text / html; charset = UTF-8"%>
指令(还有谁知道什么)。
" TilesDispatchExtensionServlet":血腥的建筑宇航员,我对我摇了拳。
回答
我们需要使用过滤器。看:
http://wiki.apache.org/tomcat/Tomcat/UTF-8