Quick BI中数据填报填入颜文字Emoji时,报错“Incorrect string value”

更新时间:

问题描述

Quick BI中数据填报填入颜文字Emoji时,报错“Incorrect string value”。

数据库是MySQL5.7版本,数据库实例编码如下:

在数据库直接插入颜文字,可以正常插入。

问题原因

MySQL数据库的所有属性中character_set_server设置为utf8,导致该问题。

解决方案

1.将MySQL数据库character_set_server属性设置为utf8mb4。后续创建的数据库,表,字段等默认以utf8mb4编码,不存在该问题。

2.MySQL的character_set_server属性设置为utf8mb4后,之前创建的数据库、表、字段要进行逐一排查,都需要设置为utf8mb4编码。

更多信息

MySQL 字符编码查询:
1、查询所有表的编码
SELECT TABLE_NAME,TABLE_COLLATION FROM information_schema.TABLES

2、查询数据库的编码
show create database db1;

3、查询单个表的编码
show create table user;

4、查询单个表所有字段的编码
show full columns from user;

5、查询当前MySQL数据库的所有属性的字符编码
show variables like 'character%';

MySQL 字符编码修改
1、修改数据库的编码
alter database mydb character set utf8 ;

2、修改表的编码
ALTER TABLE t_text DEFAULT CHARACTER SET utf8mb4 ;

适用于

  • Quick BI