根据 CSS 2.1 规范的描述,应按照以下优先级来确定一个外部 CSS 文件的编码:
HTTP 响应头中 Content-Type 字段的 charset 参数指定的编码。
BOM 以及/或者 @charset 定义的编码。
<link charset=>或其他链接机制提供的元数据(如果有的话)指定的编码。
引入该 CSS 文件的 HTML 或另一个 CSS 文件(如果有的话)中已确定的编码。
如果以上几步都没能确定编码,则假定其编码为 UTF-8。
关于上述内容的详细信息,请参考 CSS 2.1 规范 4.4 CSS style sheet representation 中的内容。
需要知道,计算机里面每个字符都有一个unicode编码,比如「我」的unicode是6211(16进制),而字体文件的作用是规定某个字符应该用什么形状来显示。unicode字符集里面,E000 至 F8FF属于用户造字区。原本是空的,用户可以在字体文件里面随便定义这些字符的形状。我们所见的webfont icon,一般就选在这一部分。(上面这段讲得可能不专业,大致知道是这么一回事就行。)要使用自定义字符,大致步骤是:自己造一个字体文件,把e000所对应的字符形状画上新浪的icon,保存为常用字体文件格式。在css中使用font-face引用这个字体文件,任意命名(不和已有的重复,比如叫myfonticon)需要显示图标的地方定义font-family为myfonticon,content属性设为"\e000"。网页、css等文件编码格式为utf8格式时,有时候会遇到中文字体名直接写:“宋体”,"黑体",无法正确识别调用该字体的情况,这时把中文转为:\5b8b\4f53,这种形式可以解决这个问题。