我們在使用phpmyadmin管理面板時,可以在首頁看到名為「server connection collation」(伺服器連線排序規則)的選項,用來選擇所使用的字符集。對於我們常用的utf8,卻有utf8和utf8mb4兩種,這是為什麼呢?
原來,mysql在5.5.3版本之後增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來相容四位元組的unicode。其實,utf8mb4是utf8的超集,理論上原來使用utf8,然後將字符集修改為utf8mb4,也會不會對已有的utf8編碼讀取產生任何問題。當然,為了節省空間,一般情況下使用utf8也就夠了。
既然utf8應付日常使用完全沒有問題,那為什麼還要使用utf8mb4呢? 低版本的mysql支援的utf8編碼,最大字元長度為 3 位元組,如果遇到 4 位元組的字元就會出現錯誤了。三個位元組的 utf-8 最大能編碼的 unicode 字元是 0xffff,也就是 unicode 中的基本多文平面(bmp)。也就是說,任何不在基本多文平面的 unicode字元,都無法使用mysql原有的 utf8 字符集儲存。這些不在bmp中的字元包括哪些呢?最常見的就是emoji 表情(emoji 是一種特殊的 unicode 編碼,常見於 ios 和 android 手機上),和一些不常用的漢字,以及任何新增的 unicode 字元等等。
oracle 修改資料庫的字符集編碼為UTF 8
1 檢視資料庫字符集 資料庫伺服器字符集select from nls database parameters,其 於props 是表示資料庫的字符集。客戶端字符集環境select from nls instance parameters,其 於v parameter,表示客戶端的字符集的設定,可能...
ORACLE 修改資料庫的字符集編碼為UTF 8
表示客戶端的字符集的設定,可能是引數檔案,環境變數或者是登錄檔會話字符集環境 select from nls session parameters,其 於v nls parameters,表示會話自己的 設定,可能是會話的環境變數或者是alter session完成,如果會話沒有特殊的設定,將 與n...
修改mysql資料庫字符集
首先修改預設建立資料庫字符集 c program files mysql mysql server 5.0資料夾下,找到my.ini檔案 default character set latin1 改為default character set 你想設定的字符集 之後重啟mysql,建立即可 如果想修...