html - 用日语渲染的 CSS?

标签 html css character-encoding

注意:我继承了这个站点,我没有构建它。

主页突然打不开了。看起来这是一个 CSS 问题。当我进入 Safari(Mac) 的网络检查器时,我点击打开 CSS,它显示了一堆看起来像日文字符的东西。不知道会发生什么。除了对一些基本内容 (HTML) 进行更改外,我从未对网站做过太多工作。他们说也没有其他人在做出改变。该站点的其余部分使用不同的样式表,并且工作正常。有任何想法吗?这是 site .提前致谢!

最佳答案

问题是由 HTML 文档的编码引起的:它是 UTF-16LE 编码的。你可以看到这个,例如通过在 Firefox 上打开它,通过“查看”菜单检查正在应用的编码,然后通过该菜单手动将编码更改为 ISO-8859-1。你会看到当解释为 ISO-8859-1 时,文档以“ÿþ”开头,它是 UTF-16 中的字节顺序标记。 (这会覆盖声明文档为 ISO-8859-1 编码的 meta 标记的效果。)

由于外部 CSS 文件没有提供有关 HTTP header 或文件内容中编码的信息,因此浏览器将不得不进行猜测。 IE正确猜测是Ascii编码,但其他浏览器使用的是HTML文档的编码。如果您使用两个 Ascii 字符并将它们解释为 UTF-16 代码单元,您通常会得到一个中文 (CJK) 字符。

由于 UTF-16 通常不应在 Web 上使用,解决方法是在编辑器中打开 HTML 文档并将其保存为 ISO-8859-1 编码或类似的编码,例如 windows-1252。以记事本为例,使用“另存为”并选择“ANSI”格式。

关于html - 用日语渲染的 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10490216/

相关文章:

html - 两个单词之间的水平线

javascript - 将图像加载到滚动的 DIV 中

mysql - 如何从 windows-1257 转换为 utf-8 (mysql)

vb.net - 读取 CSV 文件时字符显示不正确

css - 为什么指定 @charset "UTF-8";在你的 CSS 文件中?

html - 使 div 拉伸(stretch)以适应 td 高度

html - 如何将 CSS Sprite 与文本框一起使用?

jquery - 如何使用 JQuery 隐藏特定的子标签

javascript - 如何从 laravel 元素中的 FullCalendar 中删除周和日 View 按钮?

html - CSS:垂直居中响应式 Bootstrap 表单