我使用yii驅動的應用程序。我的目標是寫控制器操作使用Yii 1.1: csvexport
和CHttpRequest::sendFile
yii發送csv文件字符集
我的代碼是什麼導出一些數據從MongoDB中到CSV文件:
public function actionCatalogDataExport($catalog_id)
{
// prepare all needed variables here
$data = ..., $headers = ..., $filename = ...
Yii::import('ext.csv.ECSVExport');
$csv = new ECSVExport($data);
$output = $csv->setHeaders($headers)->setDelimiter(',')->toCSV();
Yii::app()->getRequest()->sendFile($filename, $output, "text/csv", true);
}
這個腳本工作正常,但如果我打開通過Excel中產生的文件我看到類似即:
有一些問題,文件編碼...我打開記事本+ +和改變編碼成UTF-8無BOM,現在文件看起來不錯(語言:茹):
測試了這個補丁,但沒有成功,結果:
header('Content-type: text/csv; charset=UTF-8'); // no effect
Yii::app()->getRequest()->sendFile(
$filename,
$output,
"text/csv; charset=UTF-8", // no effect
true
);
我怎麼能馬上做到這一點後,警予發的文件操作?
超。簡單的方法。感謝名單! – dimka3210
@ dimka3210是的,這很容易解決問題 – TotPeRo