MySQL 需要支持 emoji 表情符號(hào)版本需要大于5.5.3,且字符集需要設(shè)置為utf8mb4 字符集。
utf8mb4和utf8到底有什么區(qū)別呢?原來(lái)以往的mysql的utf8一個(gè)字符最多3字節(jié),而utf8mb4則擴(kuò)展到一個(gè)字符最多能有4字節(jié),所以能支持更多的字符集。
將Mysql的編碼從utf8轉(zhuǎn)換成utf8mb4。
需要 >= MySQL 5.5.3版本、從庫(kù)也必須是5.5的了、低版本不支持這個(gè)字符集、復(fù)制報(bào)錯(cuò)
停止MySQL Server服務(wù)
修改 my.cnf或者mysql.ini
| [client] default-character-set = utf8mb4[mysql] default-character-set = utf8mb4[mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' |
重啟 MySQL Server、檢查字符集。
查看服務(wù)器字符集設(shè)置
| mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character%' OR Variable_name LIKE 'collation%'; |
| +--------------------------+--------------------+| Variable_name | Value |+--------------------------+--------------------+| character_set_client | utf8mb4 || character_set_connection | utf8mb4 || character_set_database | utf8mb4 || character_set_filesystem | binary || character_set_results | utf8mb4 || character_set_server | utf8mb4 || character_set_system | utf8 || collation_connection | utf8mb4_unicode_ci || collation_database | utf8mb4_unicode_ci || collation_server | utf8mb4_unicode_ci |+--------------------------+--------------------+ |
查看數(shù)據(jù)庫(kù)字符集
| mysql> select * from SCHEMATA where SCHEMA_NAME='ttlsa'; |
| +--------------+-------------+----------------------------+------------------------+----------+| CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |+--------------+-------------+----------------------------+------------------------+----------+| def | ttlsa | utf8mb4 | utf8mb4_unicode_ci | NULL |+--------------+-------------+----------------------------+------------------------+----------+ |
查看表字符集
| mysql> select TABLE_SCHEMA,TABLE_NAME,TABLE_COLLATION from information_schema.TABLES; |
| +--------------------+----------------------------------------------------+--------------------+| TABLE_SCHEMA | TABLE_NAME | TABLE_COLLATION |+--------------------+----------------------------------------------------+--------------------+ |
查看列字符集
| mysql> select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLLATION_NAME from COLUMNS; |