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