douzoudang1511 2014-03-12 03:43
浏览 43

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

I'm trying to save data to a CSV from source data containing HTML special characters. I've tried every PHP character encoding/decoding trick I could find, nothing seems to work.

Here's a basic example of what I'm attempting without any attempt to handle the special characters. Can anyone show me what I'm doing wrong?

$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条回答 默认 最新

  • douzhuican0041 2014-03-12 04:16
    关注

    I'm not quite sure why this works but here's the workaround I discovered. If you run the array through html_entity_decode and do another html_entity_decode again on the loop it works. Hope this helps someone.

    $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);
    
    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?