CSS文件添加 @charset "utf-8"; 可能会引起样式在IE6下失效
2011-12-15 12:04
543 查看
今天在本地调试好页面在IE6,7,8,及火狐的效果后,上传服务器,上传以后,发现页面在IE7,8,火狐下是正常的,在IE6下串位。
问题发生以后,我在本地又测试了一下IE6的效果,一切正常,可是服务器上的页面缺是不正常,起初怀疑是页面JS和<meta>标签不统一的原因造成的,待我统一了JS和<meta>标签后,问题依然出现。
于是我把服务器上的页面在IE6里另存为下载了下来,下载以后,我突然发现页面的CSS文件的中文注释语句都变成了乱码。这就是页面在IE6下不能正常显示的原因,因为页面的CSS文件由于注释语句变成乱码的原因无法正常读取。
这里我发现了CSS文件与HTML文件的语言编码不统一的问题,HTML文件的语言编码是<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
而CSS文件的语言编码是@charset "utf-8";,这就造成了浏览器在读取CSS文件时,无法读取注释语句的问题。(注意:不是单指注释语句的问题,如果有中文等字符,也会如此。如:font-family: "宋体";)
我之前在网络上见过一个人说,“CSS文件只能设置成UTF-8,而不能设置成GB2312,如果设置成GB2312,会造成错误”,所以我才将CSS的语言设置为 @charset "utf-8";,但是如果这样写出来,而HTML又是GB2312的话,就会造成CSS读取不出来的问题。
所以解决办法是删除@charset "utf-8";这个声明语句,貌似删除以后,CSS的编码依然是UTF-8,但是页面读取会正常。看来,以后在编写CSS文档的时候,还是不添加@charset "utf-8";,这个声明语句比较安全!
问题发生以后,我在本地又测试了一下IE6的效果,一切正常,可是服务器上的页面缺是不正常,起初怀疑是页面JS和<meta>标签不统一的原因造成的,待我统一了JS和<meta>标签后,问题依然出现。
于是我把服务器上的页面在IE6里另存为下载了下来,下载以后,我突然发现页面的CSS文件的中文注释语句都变成了乱码。这就是页面在IE6下不能正常显示的原因,因为页面的CSS文件由于注释语句变成乱码的原因无法正常读取。
这里我发现了CSS文件与HTML文件的语言编码不统一的问题,HTML文件的语言编码是<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
而CSS文件的语言编码是@charset "utf-8";,这就造成了浏览器在读取CSS文件时,无法读取注释语句的问题。(注意:不是单指注释语句的问题,如果有中文等字符,也会如此。如:font-family: "宋体";)
我之前在网络上见过一个人说,“CSS文件只能设置成UTF-8,而不能设置成GB2312,如果设置成GB2312,会造成错误”,所以我才将CSS的语言设置为 @charset "utf-8";,但是如果这样写出来,而HTML又是GB2312的话,就会造成CSS读取不出来的问题。
所以解决办法是删除@charset "utf-8";这个声明语句,貌似删除以后,CSS的编码依然是UTF-8,但是页面读取会正常。看来,以后在编写CSS文档的时候,还是不添加@charset "utf-8";,这个声明语句比较安全!
相关文章推荐
- CSS文件添加 @charset "utf-8"; 可能会引起样式在IE6下失效
- CSS文件添加 @charset "utf-8"; 可能会引起样式在IE6下失效
- CSS文件添加“@charset "utf-8";”可能会引起样式在IE6下失效
- CSS文件开头到底声明@charset "utf-8"
- CSS文件中第一行@charset "utf-8";的作用
- @import url("layout.css"); css 引入 css ------@charset "utf-8";
- css文件中第一行@charset "utf-8";的作用
- cSS文件中第一行@charset "utf-8";的作用
- 谷歌浏览器不支持css文件使用@charset "utf-8";
- response.setContentType("text/html;charset=utf-8")后依然乱码的解决方法
- 【转】jsp中pageEncoding、charset=UTF -8"、(request/response).setCharacterEncoding("UTF-8")
- 关于在Java中使用request.getRequestDispatcher(".....")引起的css文件无效或图片无效问题。
- php显示乱码的处理header("Content-type:text/html;charset=utf-8");
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- JSP中pageEncoding、charset=UTF -8"、(request/response).setCharacterEncoding("UTF-8")详
- (转)获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- HTML中,content="text/html; charset=gb2312";XML中 encoding="UTF-8"。其实都是指的 “程序员告诉别人,我的此html文档所使用的字符编码,但是
- 疑问 <meta http-equiv="charset" content="utf-8">和 <meta charset="UTF-8">的区别?
- java 乱码详解_jsp中pageEncoding、charset=UTF -8"、request.setCharacterEncoding("UTF-8")
- Response.Charset="UTF-8"