编码导致 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"/>。
總結
以上是生活随笔為你收集整理的编码导致 html和aspx 样式差异,变形的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在VS2010里可以给JS函数添加代码提
- 下一篇: 网页中嵌入Excel控件