這兩天做項目又遇到了程序員最頻繁遇到的問題之一————亂碼問題
這次是tomcat上的,解決后又順便復(fù)習(xí)了下,在這與大家分享下
UTF-8:Unicode TransformationFormat-8bit,允許含BOM,但通常不含BOM。是用以解決國際上字符的一種多字節(jié)編碼,它對英文使用8位(即一個字節(jié)),中文使用24為(三個字節(jié))來編碼。UTF-8包含全世界所有國家需要用到的字符,是國際編碼,通用性強(qiáng)。UTF-8編碼的文字可以在各國支持UTF8字符集的tb瀏覽器上顯示。如,如果是UTF8編碼,則在外國人的英文IE上也能顯示中文,他們無需下載IE的中文語言支持包。 GBK是國家標(biāo)準(zhǔn)GB2312基礎(chǔ)上擴(kuò)容后兼容GB2312的標(biāo)準(zhǔn)。GBK的文字編碼是用雙字節(jié)來表示的,即不論中、英文字符均使用雙字節(jié)來表示,為了區(qū)分中文,將其最高位都設(shè)定成1。GBK包含全部中文字符,是國家編碼,通用性比UTF8差,不過UTF8占用的數(shù)據(jù)庫比GBD大。 GBK、GB2312等與UTF8之間都必須通過Unicode編碼才能相互轉(zhuǎn)換: GBK、GB2312--Unicode--UTF8 UTF8--Unicode--GBK、GB2312 對于一個網(wǎng)站、論壇來說,如果英文字符較多,則建議使用UTF-8節(jié)省空間。不過現(xiàn)在很多論壇的插件一般只支持GBK。個編碼的區(qū)別詳細(xì)解釋簡單來說,unicode,gbk和大五碼就是編碼的值,而utf-8,uft-16之類就是這個值的表現(xiàn)形式.而前面那三種編碼是一兼容的,同一個漢字,那三個碼值是完全不一樣的.如"漢"的uncode值與gbk就是不一樣的,假設(shè)uncode為a040,gbk為b030,而uft-8碼,就是把那個值表現(xiàn)的形式.utf-8碼完全只針對uncode來組織的,如果GBK要轉(zhuǎn)UTF-8必須先轉(zhuǎn)uncode碼,再轉(zhuǎn)utf-8就OK了.