将.mdb数据插入SQL时出现编码问题

时间:2014-11-11 16:19:08

标签: php mysql ms-access pdo

我正在尝试将.mdb文件的内容(从Microsoft Access)导出到MySQL数据库中。

当我从.mdb文件中获取内容并将其回显到页面时,它看起来很好,就像标准文本一样。但是,当我使用PDO将其插入数据库时​​,出现incorrect string value错误。字符串在INSERT子句中显示如下:

\x41\x44\x20\x2d\x20\x57\x49\x4c\x44\x20\x42\x45\x41\x4e\x20\x43\x41\x46\xc9

我不完全确定为什么会这样,或者我需要做些什么来纠正它。所有记录都不会发生,只有一些记录。

任何指针都会有所帮助。

由于数据来自Microsoft Access数据库,因此它包含在UTF-8中无效的Microsoft Office特殊字符。所以我使用以下函数解析每个字符串。

iconv("cp1252","UTF-8", $str);

1 个答案:

答案 0 :(得分:0)

您可能在某些文本字段中包含引号或其他特殊字符。在插入

之前转义文本
mysqli_real_escape_string($text)
  // or
mysql_real_escape_string($text)

查看实际解决方案