Search code examples
phpencodingcharacter-encoding

write utf-8 characters to file with fputcsv in php


I want to try write Persian character in CSV file in PHP, I am using fputcsv function but how can write UTF-8 character to CSV file with fputcsv?

Part of my code:

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

Solution

  • Try this:

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

    the line fprintf($df, chr(0xEF).chr(0xBB).chr(0xBF)); writes file header for correct encoding.