Добавление спецификации в файл CSV с помощью fputcsv
У меня есть простой генерируемый файл CSV, который включает в себя иностранные символы. Я заметил, что если я не включу Порядок следования байтов, то внешние символы не будут правильно отображаться в Excel (но они выглядят нормально, когда присутствует спецификация).
Как добавить спецификацию в начало файла при его первом создании? Я пробовал следующее, и это не работает: - /
function processForm($competition, $competitionEntry) {
$BOM = "\xEF\xBB\xBF"; // UTF-8 BOM
$filename = $competition->ID.".csv";
$file = "entries/".$filename;
$fields = array_keys($competitionEntry);
$submittedForm = $competitionEntry;
if(file_exists($file)) {
$fp = fopen($file, 'a');
if($fp &&
fputcsv($fp, $submittedForm) &&
fclose($fp)) {
return true;
}
} else { // CREATE NEW FILE
$fp = fopen($file, 'w');
if($fp &&
fputcsv($fp, $BOM) && // WRITE BOM TO FILE
fputcsv($fp, $fields) &&
fputcsv($fp, $submittedForm) &&
fclose($fp)) {
return true;
}
}
return false;
}