mysql创建表使用select got "错误的字符串值:"



我想从performance_schema.events_statements_history_long创建一个表,但是得到一个错误。

sql:

create table history select * from performance_schema.events_statements_history_long 

错误:

Incorrect string value: 'xF0x9Fx9FxA8xE8xAD...' for column 'SQL_TEXT' at row 1108

字符集

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
Variable_name   Value
character_set_client    utf8
character_set_connection    utf8
character_set_database  utf8
character_set_filesystem    binary
character_set_results   utf8
character_set_server    utf8
character_set_system    utf8
collation_connection    utf8_general_ci
collation_database  utf8_general_ci
collation_server    utf8_general_ci

我试了很多次,但都没有成功。

字符集是utf8,我也试过utf8mb4,结果是一样的。

有人知道原因是什么吗?

您需要utf8mb4,而不是utf8。线索是从F0开始的4字节十六进制。

F09F9FA8 🟨,      LARGE YELLOW SQUARE

查找连接参数所在的位置;将utf8更改为utf8mb4。如果不能找到,在连接后立即执行SET NAMES utf8mb4

如果latin1涉及任何地方中的一个,你有其他的问题。

参见UTF-8字符的问题;我看到的不是我存储的

相关内容

最新更新