PHPでCSVファイルにペルシャ文字を書きたいのですが、fputcsv
関数を使用していますが、fputcsv
でCSVファイルにUTF-8文字を書き込むにはどうすればよいですか?
私のコードの一部:
$df = fopen($filepath, 'w');
fputcsv($df, array($coupon->code, $discount->label));
これを試して:
_$df = fopen($filepath, 'w');
fprintf($df, chr(0xEF).chr(0xBB).chr(0xBF));
fputcsv($df, array($coupon->code, $discount->label));
_
行fprintf($df, chr(0xEF).chr(0xBB).chr(0xBF));
は、正しいエンコードのためにファイルヘッダーを書き込みます。
これも試してください:
$df = fopen($filepath, 'w');
$array = array($coupon->code, $discount->label);
$array = array_map("utf8_decode", $array);
fputcsv($df, $array);
Excel用のUTF-8ファイルを作成する場合は、次の簡単なソリューションを使用します。
$fp = fopen($filename, 'w');
//add BOM to fix UTF-8 in Excel
fputs($fp, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ));
元の回答を参照してください here 公式のPHPページ。