【发布时间】:2018-04-30 18:25:34
【问题描述】:
我检测到我要写入的值是泰语,我将写入 CSV 文件,但是当我使用 fwrite 并保存 .CSV 文件并在 Excel 中打开此 CSV 文件时。我看到了关于“เธฅเธน”的文本เธเธเธฅเธดเนเธ,เธชเธฃเนเธฒเธเธฅเธฒเธข”下面的代码
$xfile =fopen($filename,"w");
foreach( $data as $itm ){
$outstr="";
foreach($itm as $key=>$str){
$val =str_replace("\r\n","",$str);
val =str_replace("\t\t","",$val);
$val =str_replace('"',"'",$val);
$outstr=$outstr.'"'.$val.'"'.$clm;
//dump(mb_detect_encoding($outstr));die(); --Result UTF-8
}
$outstr=substr($outstr,0,strlen($outstr)-1);
fwrite($xfile,$outstr."\r\n"); //Newline
fclose($xfile);
我觉得自己很愚蠢,或者我忘记了什么。请帮忙
【问题讨论】:
-
使用库正确写入csv/excel文件。 github.com/PHPOffice
-
@Mark 你能给我一些 symfony 框架的例子吗?
-
您可以浏览示例目录。 github.com/PHPOffice/PhpSpreadsheet/blob/develop/samples/Basic/… 我没有使用 symfony,而是使用 composer 安装 phpspreadsheet,使用它的命名空间并调用它应该可以工作。首先在您的控制器中尝试。我已经用了多少年了。它最适合 csv 等电子表格。
-
@Mark 非常感谢。