编码导致 html和aspx 样式差异,变形
今天美工那邊做好幾個(gè) HTML 頁面發(fā)給我,我把那些都改成 ASPX ,發(fā)現(xiàn)一個(gè)奇怪的問題,顯示出來的結(jié)果有點(diǎn)不一樣,樣式有點(diǎn)偏差。
于是仔細(xì)對比 HTML 和 ASPX 頁面產(chǎn)生的源代碼,沒有發(fā)現(xiàn)任何不同的地方,真是百思不得其解。最后終于無意中發(fā)現(xiàn),HTML 頁面和 ASPX 頁面的編碼方式不一樣,HTML 是 GB2312 ,ASPX 是 UTF-8(即使其中含有 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 的標(biāo)記)。
才明白,原來就是因?yàn)?ASPX 的輸出編碼為 Unicode,在處理 CSS 中的中文字體名(如“宋體”,“黑體”)時(shí)才出錯(cuò)了錯(cuò)誤,導(dǎo)致不能正確顯示指定的字體。處理辦法:
1) 將 ASP.NET 的默認(rèn)編碼方式由 UTF-8 改為 GB2312 ;
2) 將 CSS 文件中的中文字體名變?yōu)橛⑽拿Q;
如 "Font-Family: 宋體" 改為 "Font-Family: SimSun" ,其它字體的英文名稱如:SimYou 幼圓; SimHei 黑體; SimKai 楷體; SimFang 仿宋; SimLi 隸書等。
其實(shí)若調(diào)用JS,也會出現(xiàn)類似的問題,所以,大家在頁面設(shè)計(jì)上一定要統(tǒng)一好相應(yīng)的編碼格式。
實(shí)在解決不了,請使用如下方法:
修 改web.config中的<globalization>中的reponseEncoding屬性為 gb2312,<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>。
總結(jié)
以上是生活随笔為你收集整理的编码导致 html和aspx 样式差异,变形的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在VS2010里可以给JS函数添加代码提
- 下一篇: 一贯好鲍适合什么年龄阶段的人好吃?