utf 8符号化php生成csvオープン乱符号化の問題を解決する
3405 ワード
php
$arrTitle = array(' ', ' ', ' ', ' ', ' ', ' ');
$arrValue[0] = array('1', '2"*x,x', "t',3", '4', '5', '6');
$arrValue[1] = array('1', '2"*x,x', "t',3", '4', '5', '6');
$path = './tttnew2.csv';
// utf8, utf8_encode UTF 。
//$msg = utf8_encode($msg);
//$msg = iconv('gbk', 'utf-8', $msg);
// bom "\xEF\xBB\xBF"
// csv , , %22
$strBOMHEAD = "\xEF\xBB\xBF";
$fp = @fopen($path, 'a');
@fwrite($fp, $strBOMHEAD);
// csv
@fwrite($fp, implode(',', $arrTitle) . "\r
");
foreach ($arrValue as $k => $val) {
foreach ($val as $kkey => $vval) {
$val[$kkey] = str_replace('"','%22',$vval);
}
$strTmp = '"'.implode('","', $val).'"';
@fwrite($fp, $strTmp. "\r
");
}
@fclose($fp);
生成したcsvはwindowの下で直接開くことができます