用于utf8mb4\u unicode\u ci的mysql句柄unicode文本

kpbwa7wx  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(641)

尝试向表中插入字符串时出现以下错误。
错误:er\u截断了\u字段的\u值错误:第1行“preview\u text”列的字符串值不正确:'\xf0\x9f\x98\x8d…'
\xf0\x9f\x98\x8d是笑脸表情符号吗?
根据前面的stackoverflow问题,我需要将排序规则设置为 utf8mb4_unicode_ci ,但在默认情况下是这样的,而且仍然如此。

我还应该换什么?

hgc7kmma

hgc7kmma1#

在连接之后,您应该这样定义字符集:

SET NAMES 'utf8mb4';

通常,您的客户机中会有一个选项来设置它(比查询更优雅),例如:nodejs:

mysql.createPool({
    ...
    charset : 'utf8mb4'
});

还有php的mysqli

$mysqli->set_charset("utf8mb4");

相关问题