我正在编写一个脚本,该脚本从您的邮件中获取一个表格并将其放入CSV文件中。
这是我用来将html表转换为CSV的代码
$html = str_get_html($outputstr);
// For Excel
header('Content-type: application/ms-excel');
// Download File
header('Content-Disposition: attachment; filename=sample.csv');
$fp = fopen("php://output", "w");
// Take out empty lines
foreach($html->find('tr') as $element) {
$td = array();
foreach( $element->find('th') as $row) {
$td [] = $row->plaintext;
}
foreach( $element->find('td') as $row) {
$td [] = $row->plaintext;
}
fputcsv($fp, $td);
}
fclose($fp);
我得到的唯一问题是,当我打开CSV文件时,一些空的列具有一个奇怪的字符:
我无法阅读PHP脚本以将其导出到数据库中
fgetcsv($handle, 1000, "\t");
如何解决此问题?
是否通过在创建CSV文件或将CSV文件传输到MySQL数据库时读取CSV文件的部分修改代码来解决此问题?
当我使用在线html到CSV转换器时,它工作正常,然后我就没有遇到这个问题了。
如果需要任何代码,那么我很乐意分享。
任何帮助将不胜感激。
答案 0 :(得分:0)
您是否尝试过将字符集设置为UTF-8?此外,您并没有使用标头将其设置为CSV,而是一个Excel文件。
header("content-type:application/csv;charset=UTF-8");