新手来了!
我有同样的'cell‘中包含简体和繁体中文的源数据(对不起,新手在这里使用Excel!),我正在尝试使用"Load data Infile“将这些数据加载到MYSQL中。
冒犯的文本是“到达广州新冶酒吧!一杯芝華士嘈雜的音樂行行色色的男女”。它有简体中文("广")和繁体中文("華")。
当我将它加载到MySQL中时,会得到以下错误:
错误代码: 1366。不正确的字符串值:‘\xF0\xA3\x8E\xB4\xE8\x83.’列>“描述”的第2行
数据库的排序规则是UTF-8默认排序规则,输入文件也是UTF-8编码的。
我有什么办法可以:
( a)使SQL接受这一行数据(理想),还是b)获取SQL以跳过插入这一行数据?
谢谢!如果你需要更多的细节,请告诉我。
凯文
发布于 2012-09-20 23:19:55
如果它被绊倒了,那是因为它不在Unicode的基本多语言平面上;它位于U+FFFF之上的补充多语言平面上,在UTF-8而不是3中占4个字节。完全一致的Unicode实现对它们没有区别,但是MySQL字符集utf8不接受U+FFFF上面的字符。如果您有最新版本的MySQL,则可以修改表以使用正确处理所有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 fails with "Incorrect string value"的翻版。
https://stackoverflow.com/questions/12472795
复制相似问题