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