《MysqL实例使MysqL能够存储emoji表情字符的设置教程》要点:
本文介绍了MysqL实例使MysqL能够存储emoji表情字符的设置教程,希望对您有用。如果有疑问,可以联系我们。
MysqL 需要支持 emoji 表情符号版本需要大于5.5.3,且字符集需要设置为utf8mb4 字符集.
MysqL的utf8一个字符最多3字节,而utf8mb4则扩展到一个字符最多能有4字节,所以能支持更多的字符集.
将MysqL的编码从utf8转换成utf8mb4.
MysqL 5.5.3版本、从库也必须是5.5的了、低版本不支持这个字符集、复制报错
MysqL Server服务
修改 my.cnf或者MysqL.ini
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、检查字符集.
查看服务器字符集设置
MysqL> SHOW VARIABLES WHERE Variable_name LIKE 'character%' OR Variable_name LIKE 'collation%';
MysqL> select * from SCHEMATA where SCHEMA_NAME='ttlsa';
sql_PATH |
+--------------+-------------+----------------------------+------------------------+----------+
| def | ttlsa | utf8mb4 | utf8mb4_unicode_ci | NULL |
+--------------+-------------+----------------------------+------------------------+----------+
查看表字符集
MysqL> select TABLE_SCHEMA,TABLE_NAME,TABLE_COLLATION from information_schema.TABLES;
查看列字符集
MysqL> select TABLE_SCHEMA,COLUMN_NAME,COLLATION_NAME from COLUMNS;
转换字符集语句
sql
FROM `TABLES` where table_schema like "DB_NAME" group by table_schema;
SELECT concat("ALTER TABLE `","`.`",table_name,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;") as _sql
FROM `TABLES` where table_schema like "DB_NAME" group by table_schema,table_name;
SELECT concat("ALTER TABLE `","` CHANGE `",column_name,"` `","` ",data_type,"(",character_maximum_length,") CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;") as _sql
FROM `COLUMNS` where table_schema like "DB_NAME" and data_type in ('varchar');
SELECT concat("ALTER TABLE `"," CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;") as _sql
FROM `COLUMNS` where table_schema like "DB_NAME" and data_type in ('text','tinytext','mediumtext','long
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250