尝试向表中插入字符串时出现以下错误。错误:er\u截断了\u字段的\u值错误:第1行“preview\u text”列的字符串值不正确:'\xf0\x9f\x98\x8d…'\xf0\x9f\x98\x8d是笑脸表情符号吗?根据前面的stackoverflow问题,我需要将排序规则设置为 utf8mb4_unicode_ci ,但在默认情况下是这样的,而且仍然如此。我还应该换什么?
utf8mb4_unicode_ci
hgc7kmma1#
在连接之后,您应该这样定义字符集:
SET NAMES 'utf8mb4';
通常,您的客户机中会有一个选项来设置它(比查询更优雅),例如:nodejs:
mysql.createPool({ ... charset : 'utf8mb4' });
还有php的mysqli
$mysqli->set_charset("utf8mb4");
1条答案
按热度按时间hgc7kmma1#
在连接之后,您应该这样定义字符集:
通常,您的客户机中会有一个选项来设置它(比查询更优雅),例如:nodejs:
还有php的mysqli