新聞中心
由數(shù)據(jù)庫(kù)導(dǎo)入報(bào)錯(cuò)引發(fā)的關(guān)于數(shù)據(jù)庫(kù)編碼格式utf8mb4問(wèn)題思考
無(wú)憂主機(jī)小編一直致力于用自己還算清晰的思路,給大家整理出能真正解決問(wèn)題的文檔,分享給大家。這不最近,有一位無(wú)憂主機(jī)php虛擬主機(jī)幾年的老客戶問(wèn)了小編一個(gè)關(guān)于數(shù)據(jù)庫(kù)導(dǎo)入的問(wèn)題。小編自詡問(wèn)題處理不少,數(shù)據(jù)庫(kù)導(dǎo)入問(wèn)題一眼也能看出問(wèn)題的眉目,所以就開(kāi)始幫客戶處理。 客戶網(wǎng)站的具體問(wèn)題是,在數(shù)據(jù)庫(kù)導(dǎo)入時(shí)提示大概是“沒(méi)有定義的編碼集utf8mb4”。utf8mb4?小編是第一次看到這個(gè)概念,之前接觸比較多的是utf8。小編通過(guò)上網(wǎng)查找資料了解到,utf8mb4是utf8的一個(gè)衍生形式,utf-8里的一個(gè)字符只能最多支持3個(gè)字節(jié),而utf8mb4則擴(kuò)展到一個(gè)字符支持4個(gè)字節(jié)。值得一提的是,utf8mb4只有在mysql數(shù)據(jù)庫(kù)版本是5.5.3+的時(shí)候才支持,如果低于這個(gè)版本,在用sql語(yǔ)句進(jìn)行數(shù)據(jù)插入的時(shí)候,可以把utf8mb4改成utf8,這也是小編解決這位客戶問(wèn)題的方法。還有一種就是進(jìn)行數(shù)據(jù)庫(kù)升級(jí)了。那么utf8mb4和utf8具體應(yīng)用區(qū)別在哪里呢?下面小編舉個(gè)例子: 如下圖中的特殊符號(hào),就需要定義編碼為utf8mb4格式,因?yàn)橐粋€(gè)字符就有4個(gè)字節(jié)。如果設(shè)置utf8就會(huì)出現(xiàn)亂碼: 關(guān)于這兩個(gè)編碼,大家各取所需,選擇一個(gè)合適的進(jìn)行數(shù)據(jù)庫(kù)編碼就可以了。一般utf8格式可以滿足絕大部分的需求。 無(wú)憂主機(jī)相關(guān)文章推薦閱讀: 數(shù)據(jù)庫(kù)導(dǎo)入常見(jiàn)四種報(bào)錯(cuò) 建站經(jīng)驗(yàn):SQL語(yǔ)句快速刪除重復(fù)內(nèi)容之我見(jiàn) 解決MYSQL4.0導(dǎo)入MYSQL5.0數(shù)據(jù)庫(kù)亂碼的辦法 PHPMYADMIN報(bào)錯(cuò)“40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT”
本文地址:http://www.gle-technology.com/mysql/19150.html