wake-up-neo.com

schreibe utf-8-Zeichen in eine Datei mit fputcsv in PHP

Ich möchte versuchen, ein persisches Zeichen in eine CSV-Datei in PHP zu schreiben. Ich verwende die fputcsv-Funktion, aber wie kann man UTF-8-Zeichen mit fputcsv in die CSV-Datei schreiben?

Teil meines Codes:

$df = fopen($filepath, 'w');
fputcsv($df, array($coupon->code, $discount->label));
23
Yusef Mohamadi

Versuche dies:

$df = fopen($filepath, 'w');
fprintf($df, chr(0xEF).chr(0xBB).chr(0xBF));
fputcsv($df, array($coupon->code, $discount->label));

die Zeile fprintf($df, chr(0xEF).chr(0xBB).chr(0xBF)); schreibt den Dateiheader für die korrekte Kodierung.

104
Hardy

Versuchen Sie auch dies:

$df = fopen($filepath, 'w');
$array = array($coupon->code, $discount->label);
$array = array_map("utf8_decode", $array);
fputcsv($df, $array);
22
robssanches

Wenn Sie eine UTF-8-Datei für Excel erstellen möchten, verwenden Sie diese einfache Lösung:

$fp = fopen($filename, 'w');

//add BOM to fix UTF-8 in Excel 
fputs($fp, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ));

Siehe die ursprüngliche Antwort hier auf der offiziellen PHP Seite.

0
Syno