我在这里有一个非常奇怪的行为。
我从 PDF 复制一个表格,表格粘贴到 Excel 电子表格中。然后将.xls文件另存为.csv。最后,.csv通过 PHP 上传到 MySQL。有些文本的开头有一个隐藏的问号。像这个:NEE13
.我看不出任何异常,但只是为了测试我用 phpMyAdmin 做了一个插入。MySQL抱怨说:
Warning: #1366 Incorrect string value: ''xEF'xBB'xBFNEE...' for column 'rid' at row 1.
然后,数据库中的结果值为:?NEE13
任何帮助纠正此问题,不胜感激。谢谢。
您的文件以"EF BB BF"开头。它们被称为utf8魔术字节或BOM(字节顺序标记)。
MySQL无法将这些字节解析为正确的utf8符号,并用"?"标记替换它们。
只需在插入之前删除这些字节,或使用 blob/varbinary 字段来存储文件。