2

新手来了!

我的源数据在同一个“单元格”中包含简体中文和繁体中文(对不起,使用 Excel 的新手在这里说话!),我正在尝试使用“加载数据文件”将其加载到 MYSQL 中。

结尾的结尾是“广州音乐芝华士新混合酒吧的行行色色男女” 它有简体中文(“广”)和繁体中文(“华”)。

当我将它加载到 MySQL 中时,我收到以下错误:

错误代码:1366。不正确的字符串值:'\xF0\xA3\x8E\xB4\xE8\x83...' for column > 'Description' at row 2

数据库的排序规则是 UTF-8 默认排序规则,输入文件也是 UTF-8 编码的。

有什么办法可以:

a) 让 SQL 接受这行数据(理想),或者 b) 让 SQL 跳过插入这行数据?

谢谢!如果您需要更多详细信息,请告诉我。

凯文

4

1 回答 1

3

如果出错了,那是因为不在 Unicode 的基本多语言平面中;它位于补充多语言平面中,它高于 U+FFFF,在 UTF-8 中占用 4 个字节而不是 3 个。完全符合 Unicode 实现对它们的处理没有区别,但 MySQL charset utf8 不接受 U+FFFF 以上的字符。如果您有最新版本的 MySQL,您可以 ALTER TABLE 以使用正确处理所有 Unicode 字符的 utf8mb4。有一些变化需要注意,因为 MySQL 为每个字符分配 4 个字节而不是 3 个;有关详细信息,请参阅http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-upgrading.html

这个问题是Inserting UTF-8 encoded string into UTF-8 encoded mysql table failed with "Incorrect string value"的重复。

于 2012-09-20T23:19:55.403 回答