在尝试将数据导出到CSV文件之前,我尝试使用this link中的解决方案从字符串中删除Microsoft智能引号。但是,它似乎并不适合我。
这是我的代码:
$Wp_NewsText = str_replace(
array(chr(145), chr(146), chr(147), chr(148), chr(151)),
array("'", "'", "\"", "\"", "-"),
$Wp_NewsText
);
但出于某种原因,下载仍包含智能引号。我认为可能是这样,因为CSV需要双引号作为分隔符,它以某种方式将引号恢复为智能引号,所以我尝试了这个:
$Wp_NewsText = str_replace(
array(chr(145), chr(146), chr(147), chr(148), chr(151)),
array("'", "'", """, """, "‐"),
$Wp_NewsText
);
但那并没有解决问题。所以我尝试将实际字符复制粘贴到数组中:
$Wp_NewsText = str_replace(
array(chr(145), chr(146), chr(147), chr(148), chr(151), "“", "”"),
array("'", "'", """, """, "‐", """, """),
$Wp_NewsText
);
但是,唉,还是没有运气。最后,我尝试了JSON编码/解码所有内容,因为显然速度更快,但我希望它可能会有一些其他有用的副作用使代码工作。
$Wp_NewsText = json_decode(
str_replace(
array(chr(145), chr(146), chr(147), chr(148), chr(151), "“", "”"),
array("'", "'", """, """, "‐", """, """),
json_encode($Wp_NewsText)
)
);
不。
我尝试替换这些字符的实际字符串如下:
“从这些先进的汽车技术开发计划中收集到了重要的知识产权;不仅仅是追求无声的动力传动系统,我们正在集中精力,“Setter说。”
编辑:如果重要,我的所有代码和文字都是UTF-8编码。