我在尝试将字符串插入表时遇到以下错误。
错误:ER_TRUNCATED_WRONG_VALUE_FOR_字段:不正确的字符串值:'\xF0\x9F\x98\x8D…'对于第1行的列'preview_text'
\xF0\x9F\x98\x8D是笑脸表情符号😍
正如我从前面的stackoverflow问题中了解到的,我需要将排序规则设置为utf8mb4_unicode_ci
,但它在默认情况下仍然是这样。
我还应该改变什么?
最佳答案
连接后,您应该define the charset这样:
SET NAMES 'utf8mb4';
通常,您在客户机中有一个选项来设置它(比查询更优雅),例如:
节点:
mysql.createPool({
...
charset : 'utf8mb4'
});
PHP的MySQLi
$mysqli->set_charset("utf8mb4");
关于mysql - MySQL处理utf8mb4_unicode_ci的Unicode文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53751977/