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


Автор: barcelona 17.12.2007, 10:36
Здравствуйте!
Я перевёл свои страницы в utf-8 и столкнулся с проблемой: при использовании сессий и посылке заголовков возникает ошибка: 

Warning: Cannot modify header information - headers already sent by (output started at z:\home\libraryhost2\www\1.php:1) in z:\home\libraryhost2\www\1.php on line 2 - для заголовка.

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at z:\home\libraryhost2\www\2.php:1) in z:\home\libraryhost2\www\1.php on line 3 - для сессий

Понятно, что сессии и заголовки в разный файлах, строчки 
Код

header('Content-Type: text/html; charset=UTF-8');

и
Код

session_start();

в скриптах первые. Эту проблему я решил, поставив перед именами функций по собаке, но верно ли это? Почему utf-8 так странно работает с заголовками?
Заранее спасибо.

Автор: Feldmarschall 17.12.2007, 10:44
О, блин, я же хотел написать - и забыл.
Блокнот добавляет пару байт в самом начале текстас UTF. их надо ручками удалить вкаком-нибудь другом редакторе.

Цитата(barcelona @  17.12.2007,  10:36 Найти цитируемый пост)
 Эту проблему я решил, поставив перед именами функций по собаке

О, ужас.
Это такое же "решение" проблемы, как и вовсе выкинуть эти две строчки из скрипта.

Автор: barcelona 17.12.2007, 11:06
Feldmarschall, а в каком редакторе мне эти байты удалять? Посоветуй, а то я в каком ни открою, не вижу никакой лишней информации перед моими сессиями.

Автор: skyboy 17.12.2007, 11:48
Цитата(Feldmarschall @  17.12.2007,  09:44 Найти цитируемый пост)
Блокнот добавляет пару байт в самом начале текстас UTF.

точно. называется http://en.wikipedia.org/wiki/Byte_Order_Mark
Цитата(barcelona @  17.12.2007,  10:06 Найти цитируемый пост)
 а в каком редакторе мне эти байты удалять?

Да этим совсем немного редакторов грешать. Хотя бы тем же http://notepad-plus.sourceforge.net/ru/site.htm открой и перекодируй "utf-8 as ANSI(without BOM)". 

Автор: barcelona 17.12.2007, 11:55
skyboy, спасибо!

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