我有一些數據在Cyrilic中,我想用Codeigniter將其導出爲.csv文件。問題是,方法csv_from_result()會混淆這些字符。Codeigniter的csv_from_result()不能使用UTF-8字符?
$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」? – user1190992 2012-08-02 15:12:50
我嘗試了兩種方法...我在某處看到它,所以我決定嘗試一下,但它不起作用 – 2012-08-02 15:14:50
檢查您從模型中獲得的結果,並在不使用「Content-Transfer-Encoding」頭。我認爲「Content-type:application/csv」和「Content-Disposition:attachment; filename = file.csv」就足夠了。 – user1190992 2012-08-02 15:21:29