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