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();