UTF-8 и UTF-8 без спецификации -> PHP скрипт

У меня есть сценарий PHP, который отлично работает, когда я устанавливаю кодировку файла в UTF-8 без BOM или ANSI.

Если я установлю файл в кодировке UTF-8, соответственно с BOM, вывод файла PHP будет испорчен.

Однако теперь я столкнулся с тем, что при попытке установить тот же сценарий в русской операционной системе (Win 7, XAAMP), либо Apache, либо PHP всегда доставляют вывод с BOM, тем самым портя вывод.

Изменение кодировки файла PHP не помогает в этом случае...

Есть ли способ установить APACHE или PHP, чтобы никогда не использовать UTF-8 с BOM, независимо от кодировки файла PHP?

С уважением!

1 ответ

Спецификация добавляется при загрузке файла... это может быть ошибка, но загрузка с сохранением содержимого в файл, спецификация не добавляется... тогда хитрость заключается в загрузке файла без спецификации

  //Define filename
  $filename = 'FILE.TXT'; 

  //Remove BOM
  $txt= str_replace("\xEF\xBB\xBF", '', $file_txt);
  //Save File in Server
  file_put_contents($filename, $txt);

  //Start Download of the file
  ob_end_clean();
  header("Content-Type: application/octet-stream; "); 
  header("Content-Transfer-Encoding: binary"); 
  header("Content-Length: ". filesize($filename).";"); 
  header("Content-disposition: attachment; filename=" . $filename);
  readfile($filename);
  die();
Другие вопросы по тегам