情况:我有一个相当大的网站(windows server 2003)我想标准化为只使用 UTF-8。现在它使用各种字符编码,当方块开始出现在特定页面上后,我们决定只使用一种字符编码(utf-8),包括它使用的数据库。这是为了使网站易于维护。将所有内容更改为 utf-8 后,如果出现新的方块,然后需要以任何方式修复(当然不更改字符编码),这不是问题。
我添加了一个 http 响应标头,它将字符编码设置为 utf-8。在我浏览器的网站选项中,我确实看到现在出现了 utf-8。
问题是 .css 文件似乎不再有效(使用标签,我可以当场指定 .css 并且它确实有效)。当我删除这些行时:
<!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">
.css 文件有效果,但字体看起来仍然与我更改响应标头之前不同。我也不想删除这些行。
设置为 utf-8 怎么可能阻止我的 .css 文件被链接使用?我尝试更改编辑器的 BOM 和字符编码选项,但我无法解决问题。我究竟做错了什么?也许我不应该添加该响应标头并以完全不同的方式标准化网站?
编辑:新发现:如果我在
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN
行它确实有效!我真的很想知道这里发生了什么。