gpt4 book ai didi

mysql - mysql无法插入汉字

转载 作者:行者123 更新时间:2023-11-29 06:52:10 25 4
gpt4 key购买 nike

您好,我正在尝试在我的 sql 数据库中插入一些汉字。对于某些字符,我没有遇到任何问题,但对于第二个插入第二个字符,我收到错误,如下所示。以前有人遇到过这种问题吗?我选择了错误的字符集或排序规则吗?

引用 https://dev.mysql.com/doc/refman/5.7/en/faqs-cjk.html#faq-cjk-why-cjk-fail-searches

CREATE TABLE testing (test VARCHAR(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci);
INSERT INTO testing VALUES('薛');
INSERT INTO testing VALUES('薛𦆱萍'); -- ERROR - MySQL Database Error: Incorrect string value: '\xF0\xA6\x86\xB1\xE8\x90...' for column 'test' at row 1
select * from testing;

最佳答案

根据Unicode character inspector 薛𦆱萍 的 UTF 编码是:

薛 = E8 96 9B
𦆱 = F0 A6 86 B1
萍 = E8 90 8D

MySQL 对此的提示:

\xF0\xA6\x86\xB1\xE8\x90

所以一切显然都是正确的,除了关于 utf8_unicode_ci 的一些实现细节。在 MySQL 中,这是一种不完整的 UTF-8 编码,最多只接受三个字节字符。因此𦆱不能存储为utf8_unicode_ci .

您需要切换到一些utf8mb4_...编码。

关于mysql - mysql无法插入汉字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47032120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com