欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL字符集utf8修改為utf8mb4的方法步驟

 更新時間:2019年07月12日 14:55:31   作者:茅十八  
這篇文章主要給大家介紹了關(guān)于MySQL字符集utf8修改為utf8mb4的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

對于mysql 5.5 而言,如果不設(shè)定字符集,mysql默認(rèn)的字符集是 latin1 拉丁文字符集;

但隨著各種業(yè)務(wù)的進(jìn)一步發(fā)展,除了各個國家的本身語言字符,經(jīng)常也會有一些表情符號出現(xiàn)在應(yīng)用程序中,而在mysql 5.5 之前,UTF-8編碼只支持1-3個字節(jié),支持BMP這部分的Unicode編碼區(qū);從MySQL 5.5開始,可以支持4個字節(jié)UTF編碼 utf8mb4 ,一個字符能夠支持更多的字符集,也能夠支持更多表情符號。

utf8mb4兼容utf8,且比utf8能表示更多的字符,是utf8字符集的超集。所以現(xiàn)在一些新的業(yè)務(wù),比如ISO等,會將MySQL數(shù)據(jù)庫的字符集設(shè)置為utf8mb4。

今天在處理一個應(yīng)用需求的時候,就遇到這樣一個問題:

當(dāng)然調(diào)整的最好方法是客戶端,mysql數(shù)據(jù)庫的字符集都修改為utf8mb4,但這樣修改量比較大,而且如果客戶端一部分修改為utf8,一部分為utf8mb4的話,容易發(fā)生混亂。

經(jīng)過幾次測試后,MySQL數(shù)據(jù)庫的my.cnf中關(guān)于字符集的配置修改為下面的配置了:

[client] 
default-character-set=utf8mb4 
 
[mysqld] 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci 
init_connect='SET NAMES utf8mb4' 
skip-character-set-client-handshake = true 
 
[mysql] 
default-character-set = utf8mb4 

使用MySQL字符集時的建議

• 建立數(shù)據(jù)庫/表和進(jìn)行數(shù)據(jù)庫操作時盡量顯式指出使用的字符集,而不是依賴于MySQL的默認(rèn)設(shè)置,否則MySQL升級時可能帶來很大困擾;

• 數(shù)據(jù)庫和連接字符集都使用latin1時雖然大部分情況下都可以解決亂碼問題,但缺點是無法以字符為單位來進(jìn)行SQL操作,一般情況下將數(shù)據(jù)庫和連接字符集都置為utf8是較好的選擇;

• 使用mysql C API時,初始化數(shù)據(jù)庫句柄后馬上用mysql_options設(shè)定MYSQL_SET_CHARSET_NAME屬性為utf8,這樣就不用顯式地用 SET NAMES語句指定連接字符集,且用mysql_ping重連斷開的長連接時也會把連接字符集重置為utf8;

• 對于mysql PHP API,一般頁面級的PHP程序總運行時間較短,在連接到數(shù)據(jù)庫以后顯式用SET NAMES語句設(shè)置一次連接字符集即可;但當(dāng)使用長連接時,請注意保持連接通暢并在斷開重連后用SET NAMES語句顯式重置連接字符集。

全面了解mysql中utf8和utf8mb4的區(qū)別:http://www.dbjr.com.cn/article/90037.htm

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • MySQL數(shù)據(jù)庫十大優(yōu)化技巧

    MySQL數(shù)據(jù)庫十大優(yōu)化技巧

    WEB開發(fā)者不光要解決程序的效率問題,對數(shù)據(jù)庫的快速訪問和相應(yīng)也是一個大問題。希望本文能對大家掌握MySQL優(yōu)化技巧有所幫助。
    2011-03-03
  • MySQL中修改表結(jié)構(gòu)時需要注意的一些地方

    MySQL中修改表結(jié)構(gòu)時需要注意的一些地方

    這篇文章主要介紹了MySQL中修改表結(jié)構(gòu)時需要注意的一些地方,作者援引Percona的相關(guān)的說明來講述如何避免相關(guān)操作導(dǎo)致表無法使用的問題,一些需要的朋友可以參考下
    2015-06-06
  • MySQL的幾種安裝方式及配置問題小結(jié)

    MySQL的幾種安裝方式及配置問題小結(jié)

    這篇文章主要介紹了MySQL的幾種安裝方式及配置,然后在文章底部給大家介紹了安裝過程中的問題總結(jié),非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-07-07
  • Mysql 5.7.18安裝方法及啟動MySQL服務(wù)的過程詳解

    Mysql 5.7.18安裝方法及啟動MySQL服務(wù)的過程詳解

    這篇文章主要介紹了Mysql 5.7.18安裝方法及啟動MySQL服務(wù)的過程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • 詳解MySQL存儲過程的創(chuàng)建和調(diào)用

    詳解MySQL存儲過程的創(chuàng)建和調(diào)用

    這篇文章主要為大家介紹了MySQL存儲過程的創(chuàng)建和調(diào)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • mysql索引對排序的影響實例分析

    mysql索引對排序的影響實例分析

    這篇文章主要介紹了mysql索引對排序的影響,結(jié)合實例形式分析了mysql使用索引提高排序速度的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • mysql 數(shù)據(jù)庫備份和還原方法集錦 推薦

    mysql 數(shù)據(jù)庫備份和還原方法集錦 推薦

    本文討論 MySQL 的備份和恢復(fù)機制,以及如何維護(hù)數(shù)據(jù)表,包括最主要的兩種表類型:MyISAM 和 Innodb,文中設(shè)計的 MySQL 版本為 5.0.22。
    2010-03-03
  • MySQL函數(shù)Locate的使用詳解

    MySQL函數(shù)Locate的使用詳解

    本文主要介紹了MySQL函數(shù)Locate的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 解決啟動MySQL服務(wù)時出現(xiàn)"mysql本地計算機上的MySQL服務(wù)啟動后停止"的問題

    解決啟動MySQL服務(wù)時出現(xiàn)"mysql本地計算機上的MySQL服務(wù)啟動后停止"的問題

    某一天我的MySQL啟動突然出現(xiàn)了異常:“mysql本地計算機上的MySQL服務(wù)啟動后停止,某些在未由其他服務(wù)或程序使用時將自動停止,”?,小編在網(wǎng)絡(luò)上面找了很多方法,MySQL啟動成功了,但是第二天開啟MySQL時還是出現(xiàn)了這個問題,現(xiàn)把兩種方法總結(jié)一下,需要的朋友可以參考下
    2023-11-11
  • Mysql數(shù)據(jù)庫常用命令操作大全

    Mysql數(shù)據(jù)庫常用命令操作大全

    這篇文章主要介紹了Mysql常用命令操作方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03

最新評論