CSS @charset "UTF-8"

2015-05-22 09:59:40 +08:00
 whatisnew

为什么有些人喜欢给 css 第一行加一个 @charset "UTF-8" 啊?有必要吗?

3610 次点击
所在节点    CSS
8 条回复
kalasoo
2015-05-22 10:02:19 +08:00
有,如果在 CSS 里定义了一个 content 是 ♥ ,只有 UTF8 可以显示
Csineneo
2015-05-22 10:03:50 +08:00
如果 font-family 有中文,如果 content 有中文
qiayue
2015-05-22 10:08:43 +08:00
这句话是告诉浏览器,本 css 文件按照 utf8 编码去读取
banri
2015-05-22 10:09:33 +08:00
不是非常必要。

外部资源(CSS、JS)在加载时会使用HTML头部声明的编码进行解析,而HTML头部一般都会声明UTF-8,所以在CSS中声明其实是没有必要的。

但是也不是完全没有用,因为如果他人查看源代码时,CSS中的中文or其它特殊字符是会显示成乱码的(因为浏览器在环境下默认是GBK,而开发者编写时一般都是UTF-8),但如果在CSS第一行加上@charset "UTF-8",则可以正常显示成中文了。

于是他的作用就是可以在使用浏览器查看源码时,可以很轻松的读懂中文注释。。。
abelyao
2015-05-22 10:10:02 +08:00
加的好处比不加多,至少表面好处是更多。
banri
2015-05-22 10:10:33 +08:00
*浏览器在中文环境下
otakustay
2015-05-22 10:16:38 +08:00
这和HTML里加<meta charset="utf-8">差不多
如果你的服务器能正确输出Content-Type头并且在头中声明charset,那么这一句是没有必要的;反之如果你的服务器控制不了HTTP头,最好还是加着
nekoyaki
2015-05-24 16:17:54 +08:00
想起了之前客户那边的技术人员,完全不知道为何要加utf8,估计是百度知道还不是哪儿搜到的,然后调用我们的API乱码了,还一直以为是我们的问题。后来我一看,人eclipse里赫然写着的字符集全都是GBK,偏要强行冒充UTF8.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/192891

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX