PHP - 使用html特殊字符写入CSV

时间:2014-03-12 03:43:00

标签: php csv character-encoding htmlspecialchars

我尝试将数据从包含HTML特殊字符的源数据保存到CSV。我已经尝试了所有可以找到的PHP字符编码/解码技巧,似乎没什么用。

这是我尝试不试图处理特殊字符的基本示例。谁能告诉我我做错了什么?

$file = fopen("output.csv", "w");
fwrite($file, '');

$array = array(
    'Casa e Decoração,queimadeestoque20,Zanox',
    'eFácil, Cupom de até 10% de desconto na eFácil, Asus'
);

foreach ($array as $line) {
    $line = explode(',',$line);
    fputcsv($file,$line);
}


fclose($file);

1 个答案:

答案 0 :(得分:1)

我不太清楚为什么会这样,但这是我发现的解决方法。如果您通过html_entity_decode运行数组并在循环上再次执行另一个html_entity_decode则可以正常工作。希望这有助于某人。

$file = fopen("output.csv", "w");
fwrite($file, '');

$array = array(
    'Casa e Decoração,queimadeestoque20,Zanox',
    'eFácil, Cupom de até 10% de desconto na eFácil, Asus'
);

$whatever = array();
foreach ($array as $line) {
    $line = html_entity_decode($line);
    $whatever[] = $line;
}

foreach ($whatever as $line) {
    $line = html_entity_decode($line);

    $line = explode(',',$line);
    fputcsv($file,$line);
}

fclose($file);