- fgetcsv: documentation ( source)
- dechex: documentation ( source)
- ord: documentation ( source)
- fclose: documentation ( source)
- rewind: documentation ( source)
- fputs: documentation ( source)
- fopen: documentation ( source)
<?php
$utfchar = chr(0xC3).chr(0x89); // U+009C in UTF-8
$csv = $utfchar."x".$utfchar."x\n";
$file = fopen('php://memory', 'w+');
fputs($file, $csv);
rewind($file);
$data = fgetcsv($file);
for ($i = 0; $i < strlen($data[0]); $i++) {
echo dechex(ord($data[0][$i])).' ';
}
echo "\n";
fclose($file);
// expected: c3 89 78 c3 89 78 - "ÉxÉx"
// actual: 78 c3 89 78 - "xÉx"