美文网首页
让MySql支持Emoji表情

让MySql支持Emoji表情

作者: BlueBar | 来源:发表于2020-05-08 17:42 被阅读0次

    解决方案:将Mysql的编码从utf8转换成utf8mb4。

    需要 >= MySQL 5.5.3版本、(经检测5.5.29的也可以)低版本不支持这个字符集、复制报错

    停止MySQL Server服务

    修改 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:service mysql restart ,检查字符集

    mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

    WX20200508-173932@2x.png

    修改数据库字符集:

    ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

    修改表的字符集:

    ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

    修改字段的字符集:

    ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

    如果只是某个字段需要 只需要修改那个字段的字符集就可以了

    另外服务器连接数据库 Connector/J的连接参数中,不要加characterEncoding参数。 不加这个参数时,默认值就时autodetect。

    jdbc_url=jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull

    去掉characterEncoding=UTF-8

    相关文章

      网友评论

          本文标题:让MySql支持Emoji表情

          本文链接:https://www.haomeiwen.com/subject/ebcqnhtx.html