最近有好多學(xué)生問我網(wǎng)頁(yè)的編碼問題,gb2312和utf-8編碼有什么區(qū)別呢?今天總結(jié)下:
不知道大家在做頁(yè)面的時(shí)候會(huì)不會(huì)遇到樣式定義不生效的問題,基本的表現(xiàn)就是怎么改樣式都沒顯示或只有某些瀏覽器正常,這時(shí)通常需要做下面的幾步:
確認(rèn)所修改的樣式文件是否是當(dāng)前頁(yè)面的樣式文件(多個(gè)環(huán)境的情況)
確認(rèn)文件中的路徑是否正確(可能手誤多寫或少寫)
如果上面兩點(diǎn)都確認(rèn)沒問題或只是一部分樣式失效,基本可以確定是文件的編碼問題
大家都知道使用“UTF-8”比“GB2312”跨平臺(tái)的兼容性更好,卻不一定知道文件的編碼跟文件編碼的申明不是一回事,以為只要申明了文件的編碼類型就是改了文件的編碼,導(dǎo)致很多時(shí)候只是簡(jiǎn)單的申明了文件的編碼類型,而并沒有真的修改文件編碼類型,當(dāng)瀏覽器以申明的編碼類型去解析文件時(shí),由于文件的實(shí)際編碼跟申明不同,出現(xiàn)解析不正確的問題。
以上問題如何產(chǎn)生呢?
只修改了申明,沒有保存與申明對(duì)應(yīng)的文件編碼類型
在不同文件間拷貝時(shí),兩個(gè)文件間的編碼不一樣
上面的問題只要再另存一份,選擇跟申明一樣的編碼類型即可解決。
如果上面的方法都沒有作用的話,可能就是編輯軟件的問題啦,建議換個(gè)編輯器試試。
目前我知道的會(huì)有問題的編輯器:
EmEditor Professional v7.50 Alpha 5(可能還是Alpha版本的關(guān)系,在UTF-8不加簽名時(shí),如果樣式注釋結(jié)尾出現(xiàn)特定的中文,如“不、用、接、名、近、見、鬼、評(píng)、論、的、出、寫、下、現(xiàn)、面、日”等,會(huì)導(dǎo)致之后的內(nèi)容無(wú)法被IE7解析)
Editplus(不知道是哪個(gè)版本了,有人知道請(qǐng)告訴我,保存UTF-8加簽名時(shí),簽名會(huì)導(dǎo)致內(nèi)容無(wú)法被解析)
注:以上說的都是指樣式部分,包括頁(yè)面中的樣式和獨(dú)立的樣式文件。