Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Реакция IE8 и IE9 на header('Content ... utf8')


Автор: KIRINDORF 11.2.2011, 14:52
Мне необходимо, что бы и сессии стартовали и кириллица корректно отображалась и кодировка была utf8. Всего этого добился так: все файлы сайта сохранены в utf8 без BOM, теги meta каждой странички имеют вид: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> , в довершение ко всему добавил header("Content-Type: text\html; charset=utf-8"). Вот пример того, что получилось:

Код

<?php
    header('Content-Type: text\html; charset=utf-8');
    session_start();
    $_SESSION['ID'] = session_id();    
?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
       <title>Сайт</title>
     </head>
     <body>
      ...
     </body>
</html>


Ну вот и все: кодировка utf8 без BOM, сессии стартуют, кириллица отображается корректно - все работает! Оказалось, работает это в Firefox, Chrome и Opera. А вот IE8 и IE9 воспринимают такие страницы как файлы для загрузки: выскакивает окно с вопросом "куда сохранять будем?". Убрать header() - все файлы будут открыты во всех браузерах, включая IE, и сессии стартуют, но вместо кириллицы кракозябры. Чего я не знаю, что не учел?

Автор: ayax2005 11.2.2011, 15:04
header('Content-type: text/html; charset=utf-8');

Автор: KIRINDORF 11.2.2011, 15:24
Не \, а / - хохотал до боли! ayax2005 - огромное тебе спасибо! Кстати, а есть такие ID для WEB-разработчиков с досканальной проверкой синтаксиса, как, например, редактор кода VB в MS VisualStudio: в нем - один-разединственный символ не по правилам - тут же кричит.

Автор: ayax2005 11.2.2011, 15:27
Не за что.
Не встречал. Работаю в komodoEdit и NetBeans и мне их хватает.

Автор: Muerto 11.2.2011, 16:52
Zend неплохой

Автор: Dima 2015 11.2.2011, 16:53
KIRINDORF, пожалуй лучшее что есть это phpStorm, в нем мощнейшая подстветка синтаксиса с риал-тайм проверкой, опознал бы он или нет именно твою ошибку я не уверен, но он реально много знает. Он платный, хотя я откопал кряк... вообще там триалы по 45 дней и я полгода на них жил, но честно говоря я готов был и купить, 100 долларов за год не жалко за такой шедевр.

Автор: ermolmolotov 14.8.2014, 23:56
Цитата(ayax2005 @ 11.2.2011,  15:04)
header('Content-type: text/html; charset=utf-8');

Ccccпасибо тебе огромное!!!! 
Тоже долго голову ломал... ))))

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