Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > кодировка UTF-8


Автор: patap 14.11.2008, 10:32
ребята дайте совет.

Беру один и тот же скрипт, если файл с этим скрипто сохранен в windows-1251, то все работает нормально. Но мне нужно чтобы в скрипте были строки на арбском, для этого сохраняю в UTF-8, и при обработке скрипта вылетает ворнинг про header.

это происходит как только меняетсся кодировка, какого черта??

Автор: ViniPuh 14.11.2008, 10:48
У кодировки UTF свои особенности. Если юзать Notepad++, то можно заметить 2 кодировки UTF. Одна обычная, вторая без BOM. В обычном файле с кодировкой UTF есть префикс в самом начале и при работе скрипта он отправляется клиенту как контент. А если клиенту чето из контента отправлено, то хеадеры уже не установишь.

Автор: patap 14.11.2008, 10:55
спасибо за ответ!!   smile 

но я только что сам это нарыл в нете!  smile 

я так и подозревал что какая-то хрень в начале файла передается ))


"Отключайте BOM

При сохранении файла многие текстовые редакторы предлагают флажок «Include Unicode Signature (BOM)», «Add Byte Order Mark» или нечто подобное. Прежде всего убедитесь, что в вашем редакторе это есть. Если похожей настройки не обнаружено (как, например, в «Блокноте») — пользоваться таким редактором для серьёзных задач не стóит. Найдя этот флажок — отключите его.

Byte Order Mark (BOM) — это три служебных байта, которые автоматически записываются в начало документа и обозначают, что он сохранён в кодировке UTF. Подробности можно прочитать в справочнике, а практическая сторона заключается в том, что эти служебные байты в UTF‑8 не являются необходимыми, зато, наоборот, могут ввести в заблуждение некоторые старые браузеры и другие программы."  (с)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)