Мне необходимо, что бы и сессии стартовали и кириллица корректно отображалась и кодировка была 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, и сессии стартуют, но вместо кириллицы кракозябры. Чего я не знаю, что не учел? |