MySQL Table 以前建立 Table 是使用 UTF-8 (3 bytes),現在因為一些特殊字、Emoji 等等,需要用到 4 bytes,所以需要使用 UTF8MB4,線上要怎麼動態修改呢?
- 註:MySQL 5.5.3 以後開始支援 UTF8MB4 (5.5 以前的實際名稱叫 UTF8MB3)
MySQL 將 Table Character 由 UTF8 改為 UTF8MB4
MySQL 語法:ALTER TABLE $table_name CONVERT TO CHARACTER SET utf8mb4;
為何 varchar 之前設定 255,utf8mb4 設定為 191 的原因:
- 主要是一個字元由 3bytes 變成 4bytes,所以計算是:255 * 3 / 4 = 191