Je veux essayer d'écrire le caractère persan dans le fichier CSV en PHP, j'utilise la fonction fputcsv
mais comment écrire le caractère UTF-8 dans un fichier CSV avec fputcsv
Une partie de mon code:
$df = fopen($filepath, 'w');
fputcsv($df, array($coupon->code, $discount->label));
Essaye ça:
$df = fopen($filepath, 'w');
fprintf($df, chr(0xEF).chr(0xBB).chr(0xBF));
fputcsv($df, array($coupon->code, $discount->label));
la ligne fprintf($df, chr(0xEF).chr(0xBB).chr(0xBF));
écrit l'en-tête du fichier pour un codage correct.
Essayez ceci aussi:
$df = fopen($filepath, 'w');
$array = array($coupon->code, $discount->label);
$array = array_map("utf8_decode", $array);
fputcsv($df, $array);
Si vous voulez créer un fichier UTF-8 pour Excel, utilisez cette solution simple:
$fp = fopen($filename, 'w');
//add BOM to fix UTF-8 in Excel
fputs($fp, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ));
Voir la réponse originale ici sur la page officielle PHP.