1

我在这里有一个非常奇怪的行为。

我从 PDF 复制表格,表格粘贴在 Excel 电子表格中。然后将 .xls 文件另存为 .csv。最后,通过 PHP 将 .csv 文件上传到 MySQL。有些文本在开头有一个隐藏的问号。比如这个:NEE13。我看不到任何异常,但只是为了测试我用 phpMyAdmin 做了一个插入。MySQL抱怨说:

Warning: #1366 Incorrect string value: '\xEF\xBB\xBFNEE...' for column 'rid' at row 1.

数据库中的结果值为:?NEE13

任何帮助纠正这个问题表示赞赏。谢谢。

4

1 回答 1

3

您的文件以“EF BB BF”开头。它们被称为 utf8 魔术字节,或 BOM(字节顺序标记)。

MySQL 无法将这些字节解析为正确的 utf8 符号并将它们替换为“?” 标记。

只需在插入之前删除这些字节,或使用 blob/varbinary 字段来存储您的文件。

于 2012-08-13T06:40:07.863 回答