Stuts2 Tiles Tomcat疑似将UTF-8改成?
-
09-06-2019 - |
题
我遇到了一些国际化问题:
我的 UTF-8 字符串字段在浏览器中呈现为 ????从数据库返回后。
使用 Hibernate 从数据库检索后,使用 eclipse 调试器检查时会正确显示字符串字段。
然而 Struts2/Tiles 将这些字符串渲染为 ????在发送到浏览器的 HTML 中。
charset 指令出现在 HTML 标头中:
也许我需要在我的 struts2 或tiles 配置中添加一些东西?
解决方案
其他提示
天啊——事实证明,原因完全是WTF?
我们所有的平铺响应都是由一个自行开发的 servlet 提供的,该 servlet 忽略了
<%@ page contentType="text/html; charset=UTF-8" %>
指令(谁知道还有什么)。
TilesDispatchExtensionServlet
:该死的建筑宇航员,我向你们挥舞拳头。
尝试在 <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">
你需要使用过滤器。看:
不隶属于 StackOverflow