PHP 5.3 fgetcsv\";

PHP 5.3 fgetcsv\";,php,fgetcsv,Php,Fgetcsv,我正在将一个CSV从DB2导入MySQL,一切都很顺利,直到在我遇到的50万行“来自一列加密数据” 以下是一个例子: 100,"foo","bar","µ┬;¬µ┬;→ºµ┬;Öì\" 101,"foo","bar","$⌠ù¶∙$∙µ┬µ┬;→ºµ┬;Öì" 当fgetcsv解析此字段时,它将转义最后一个双引号并包含下一行,就好像它是该字段的一部分一样 我看到一些bug报告,在PHP5.3中,他们为fgetcsv添加了一个转义参数 DB2使用什么作为转义?只是“ 从手册页面上的评论来看,这似

我正在将一个CSV从DB2导入MySQL,一切都很顺利,直到在我遇到的50万行“来自一列加密数据”

以下是一个例子:

100,"foo","bar","µ┬;¬µ┬;→ºµ┬;Öì\"
101,"foo","bar","$⌠ù¶∙$∙µ┬µ┬;→ºµ┬;Öì"
当fgetcsv解析此字段时,它将转义最后一个双引号并包含下一行,就好像它是该字段的一部分一样

我看到一些bug报告,在PHP5.3中,他们为fgetcsv添加了一个转义参数

DB2使用什么作为转义?只是“

从手册页面上的评论来看,这似乎是一个相当普遍的问题,没有真正好的解决办法。然而,有一些替代功能,人们已经很友好地在页面上发布,这可能会满足您的需要


这里有一个指向其中一个字符的链接:

实际上我不能将转义字符设置为空字符串,因为它必须是单个字符。也许可以使用
chr(0)
作为转义字符?很好的建议Alin,我想这也可以。我正在尝试使用另一个导入“作为转义字符,到目前为止进展顺利。是的,在来到这里之前,我已经尝试过了,这个文件还包含二进制数据,无论出于什么原因,当我使用该函数时,它似乎会中断。此外,它还引发了很多注意,因为它在添加之前没有设置字段,只是很混乱。老实说,我不确定您是否真的想使用PHP作为数据库迁移工具。您可能想四处寻找真正的迁移工具包,这很公平,尤其是对于不熟悉的dbms。刚刚意识到这些时间戳有微时间。fgetcsv()是一场灾难。不幸的是,你提到的功能评论中的建议对我不起作用。不知道为什么不稳定的东西在里面。Rails上从未出现过这些问题。