Php $ bom не работает с режимом a / a + в fopen

Я хочу написать в .csv файл с символами UTF-8, и я использую $ bom.

Это нормально работает с Еореп и режим c / c +, r / r + или w / w +, но не с режимом a / a +. Для меня важно добавлять данные в конце файла, а не в начале. В этом режиме a / a + специальные символы не распознаются. Я не могу понять причину этой проблемы.

Ниже приведен код:

$fp = fopen("my_file.csv", "a+");
fputs($fp, $bom = ( chr(0xEF) . chr(0xBB) . chr(0xBF) ) );
fputcsv($fp, array("col1","col2","col3"), ";");
fclose($fp);

0

Решение

Вы не можете просто поставить Unicode Порядок следования байтов везде, где вы хотите, он должен быть в верхней части файла:

Использование спецификации является необязательным, и, если используется, должен появиться в начале текстового потока.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector