首页 > utf-8无bom格式的css,js文件为什么在浏览器下中文显示乱码?

utf-8无bom格式的css,js文件为什么在浏览器下中文显示乱码?

用sublime编写的css,js文件,保存为utf-8格式后,在浏览器下显示,中文为乱码。于是我改用nodepad++重新保存为utf-8带bom格式后,结果中文显示正常。标准格式不应该是utf-8无bom格式吗,为什么反而会乱码?


sublime的问题吧,我用phpstorm写的,无bom的css,拖到chrome就不乱码。是不是默认编码的问题,我phpstorm新建文件默认就是utf8的,不用改。

以下为乱猜测

可能你的Sublime把文件编码改成utf8无bom之后,写入文字的使用的编码仍是有bom的,或者其他编码的,chrome则直接使用文件的编码读取里面的文字。

也就是说可能你的文件编码,和文件里的文字编码,不是同一个


在sublime新建一个css(保存为utf-8),随便写点中文

chrome显示乱码

保存为utf-8带bom格式后,中文显示正常


问题后续

我大概知道问题原因了,单独的css,js文件虽然保存为utf-8格式,但是没有声明格式,所以在浏览器默认的编码格式不是utf-8的情况下,中文就会乱码。

解决方法


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

你看着加上这个

【热门文章】
【热门文章】