【发布时间】:2012-08-02 15:05:03
【问题描述】:
我有一些 Cyrilic 数据,我想用 Codeigniter 将其导出为 .csv 文件。问题是 csv_from_result() 方法弄乱了这些字符。
$this->load->dbutil();
$delimiter = ",";
$newline = "\r\n";
$report_result = $this->data_model->get_data_result();
$data['csv'] = $this->dbutil->csv_from_result($report_result, $delimiter, $newline);
在我看来,我有:
<?php
header("Content-type: application/csv-tab-delimited-table; charset=utf-8" );
header("Content-Disposition: attachment; filename=csvdata.csv" );
header("Content-Transfer-Encoding: binary" );
echo $csv;
?>
输出文件,包含如下混乱的字符:
ТеÑÑ‚ пиÑмо","54","Референц
【问题讨论】:
-
你为什么使用“application/csv-tab-delimited-table”而不是“application/csv”?
-
我都试过了......我在哪里看到它,所以我决定试一试,但它不起作用
-
检查您从模型中获得的结果,并在不使用“Content-Transfer-Encoding”标头的情况下进行尝试。我认为“Content-type: application/csv”和“Content-Disposition: attachment; filename=file.csv”就足够了。
-
csv_from_result() 的结果是乱码,但是如果我例如使用 $result->result() 数据就可以了。所以它必须是 csv_from_result() 函数
-
在加载视图之前添加它会发生什么 $data['csv'] = mb_convert_encoding($data['csv'], 'UTF-8'); ?
标签: php codeigniter csv export