美文网首页
mysql导入emoji数据乱码

mysql导入emoji数据乱码

作者: 大闪电啊 | 来源:发表于2020-09-02 19:02 被阅读0次

    想要mysql表支持emoji,需要设置表编码为utf8mb4

    CREATE TABLE `sample` (
                     `date` char(10) DEFAULT NULL,
                     `w1` varchar(50) DEFAULT NULL,
                     `w2` varchar(255) DEFAULT NULL
    ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4
    

    mysql的字符集的作用域有三个层级一个数据库级,一个是表级,一个是列级(字段级别的)。优先级是:列级>表级>数据库级,表编码无法修改的情况下可以设置字段编码

    alter table admin modify w2 varchar(255) charset utf8mb4;
    

    以上修改完成发现通过Load导入的数据还是乱码,但是手动修改的数据可以支持

    update sample set w2 = '惹不起我躲得起🙄';
    

    原因是不仅仅表要修改,连接的客户端也需要修改,执行的命令也需要设置编码格式

    set names utf8mb4;--紧设置这个地方不起作用
    delete from sample where date = '${excuDate}';
    load data local infile 'rs/sample.txt'  into table sample character set utf8mb4;-- 关键是此处
    

    相关文章

      网友评论

          本文标题:mysql导入emoji数据乱码

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