【发布时间】:2011-10-17 09:56:57
【问题描述】:
我在使用我们定制的内容管理系统构建的网站时遇到了一些实际问题。系统通过 XSLT 渲染所有视图,这可能是问题所在。
我们遇到的问题似乎是字符编码不匹配的结果,但我正在努力找出过程的哪一部分出现故障。
在 Firefox 或 Chrome 中不会出现该问题,并且在 IE 中对于页面的初始加载和刷新时很好,但是,当在 IE 中使用“后退”按钮或“前进”按钮时,我发现任何 unicode 字符都显示为黑色菱形中的白色问号,这意味着使用了错误的字符集。我们也看到了奇怪的结果,因为这个页面被 google 索引(它似乎索引 DOCTYPE 引用和 head 元素的内容,而不是通常情况下的内容)。
所有的 XSLT 样式表都输出 UTF-16 并且 XSLT 文件本身是 UTF-16 文件(以前存在不匹配)。该网站以 UTF-16 格式提供页面,HTML 输出有一个元标记,将内容类型设置为使用 UTF-16 字符集。
我已经使用 Fiddler 检查了结果以查看来自服务器的内容,但是,当 IE 使用后退/前进按钮时,Fiddler 没有记录请求/响应,因此可能是它已将它们缓存在某个地方。
有人有什么想法吗?
【问题讨论】:
-
对上述内容的更新:当我在 IE 中查看源代码时(IE8 以防它有任何不同),我遇到了编码问题(我的默认文本编辑器将其加载为十六进制)跨度>
-
有关在 Web 上使用 UTF-16 的一些问题,请参阅 w3.org/International/questions/…。您是在内容管理系统内的服务器上执行 XSLT 转换,还是让浏览器执行 XSLT?您有我们可以访问的公共 URL 吗?
标签: html xml unicode xhtml xslt