编码导致 html和aspx 样式差异,变形

今天美工那边做好几个 HTML 页面发给我,我把那些都改成 ASPX ,发现一个奇怪的问题,显示出来的结果有点不一样,样式有点偏差。
   于是仔细对比 HTML 和 ASPX 页面产生的源代码,没有发现任何不同的地方,真是百思不得其解。最后终于无意中发现,HTML 页面和 ASPX 页面的编码方式不一样,HTML 是 GB2312 ,ASPX 是 UTF-8(即使其中含有 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 的标记)。
  才明白,原来就是因为 ASPX 的输出编码为 Unicode,在处理 CSS 中的中文字体名(如“宋体”,“黑体”)时才出错了错误,导致不能正确显示指定的字体。

处理办法:

1) 将 ASP.NET 的默认编码方式由 UTF-8 改为 GB2312 ;

2) 将 CSS 文件中的中文字体名变为英文名称;
如 "Font-Family: 宋体" 改为 "Font-Family: SimSun" ,其它字体的英文名称如:SimYou 幼圆; SimHei 黑体; SimKai 楷体; SimFang 仿宋; SimLi 隶书等。

其实若调用JS,也会出现类似的问题,所以,大家在页面设计上一定要统一好相应的编码格式。

实在解决不了,请使用如下方法:
修 改web.config中的<globalization>中的reponseEncoding属性为 gb2312,<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>。

posted @ 2012-10-16 10:16  左正  阅读(233)  评论(0编辑  收藏  举报