【发布时间】:2012-02-09 05:19:04
【问题描述】:
为什么 mysql 不能识别 é 和更多字符,包括破折号 (-) ?这让我发疯了。我不断收到像Incorrect string value: '\xE9' for column这样的错误
我正在使用 mysql 5.5.6 ,我的表是 innodb 并使用排序规则 utf8-default 排序规则。
我不知道这是否重要,但我正在从包含特殊字符的 csv 文件中进行批量插入,并且我的字段类型为 TEXT
【问题讨论】:
-
您的 csv 文件中是否存在转义问题?还是来自受信任的来源。
-
刚刚在 utf8-default innodb 表上测试了
é。插入 TEXT 字段时有效。可能是 CSV 中的其他一些非标准字符触发了此错误。 -
是我从后端上传的。不是用户,所以我绝对是一个值得信赖的来源。
-
您还应该检查数据库连接的编码类型。
-
好的。我已经直接对其进行了测试,并且可以正常工作。使用php的mysql api可能是原因吗?我应该使用 mysqli 还是我必须在 PHP 中做些什么。我正在使用 php 脚本运行批量插入