很多時候生成csv文件會出現亂碼的情況,這是因爲平常用於傳輸的都是utf-8編碼,excel打開不識別。 所以我們需要將utf-8編碼轉爲GB2312格式,再寫入文件。
<?php
function writeCsvToFile($file, $arr_csv){
$fp = fopen($file, 'w');
fputcsv($fp, $arr_csv);
fclose($fp);
}
$file = "./test.csv";
$data = array('abcd',123456789,'efg'); //多行csv可以採用多維數組解決
foreach ($data as $value)
{
$arr_csv[] = iconv("UTF-8", "GB2312//IGNORE", $value); //這裏將utf-8轉爲GB2312編碼進行保存
}
writeCsvToFile($file, $arr_csv);