MySQL是一種常用的關系型數(shù)據(jù)庫管理系統(tǒng),而建立MySQL表時使用的編碼方式是十分重要的。MySQL支持多種編碼方式,這些編碼方式通過字符集來描述。目前MySQL支持的字符集有以下幾種:
默認字符集:
CREATE TABLE MyTable ( // 省略字段定義 ) DEFAULT CHARACTER SET utf8;
指定特定字符集:
CREATE TABLE MyTable ( // 省略字段定義 ) CHARACTER SET = gb2312;
指定字段字符集:
CREATE TABLE MyTable( name VARCHAR(255) CHARACTER SET utf8, // 省略其他字段定義 );
可以通過以下方式查看當前MySQL實例支持的所有字符集:
SHOW CHARACTER SET;
在建立表時指定編碼方式有一個好處——防止亂碼。如果建表時沒有指定編碼方式,MySQL會根據(jù)服務器的默認編碼方式來設置表的編碼方式。如果服務器的默認字符集與你的應用代碼中的字符集不一致,很有可能會發(fā)生亂碼的情況。
需要注意的是,在MySQL的utf8字符集下,每個漢字占3個字節(jié),而在utf8mb4字符集下,則是每個漢字占4個字節(jié)。