За последние 24 часа нас посетили 58107 программистов и 1848 роботов. Сейчас ищет 971 программист ...

Браузер иногда выставляет левую кодировку для страницы...

Тема в разделе "PHP для новичков", создана пользователем Andrey K., 15 мар 2008.

  1. Andrey K.

    Andrey K. Активный пользователь

    С нами с:
    22 май 2007
    Сообщения:
    83
    Симпатии:
    0
    Привет.
    Есть страничка, например index.php, у нее в заголовке html`я прописано
    Код (Text):
    1. <meta http-equiv="Content-Type" content="text/html; charset=cp1251">
    при загрузке страница нормально отображается, то есть читабельный русский текст... Но иногда при перезагрузке страницы или когда переходишь на другую и обратно, то русский текст отображается крокозяблами... Если зайти в браузере в "Вид->Кодировка", то там кодировка стоит или Вьетнамская или Западноевропейская-какая-то-там. Если поменять на Кирилицу, то все стает сразу нормально. Причем, если такой сбой происходит на одном компе, то на другом все в порядке...
    Код (Text):
    1. setlocale(LC_ALL, "ru_RU.CP1251");
    то же не помогает.

    Подскажите как исправить.

    P.S. как вариант - может весь русский текст перевести в коды, типа "О нас"->& #1086; & #1085;& #1072;& #1089;
    но пока не знаю как это сделать, кто знает - подскажите как это сделать и главное, нужно ли это делать.
     
  2. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Andrey K.
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
     
  3. Anonymous

    Anonymous Guest

    Ни в коем случае.
    Приоритетным для браузера является кодировка не мета-тег в секции HEAD, а заголовок Content-type
    .т.е. либо сменить настройки php или апача, либо просто в пхп принудительно слать заголовок первой строчкой, например так:
    PHP:
    1. <? header('Content-Type: text/html; charset=windows-1251;');
    Кстати,
    чарсета cp1251 нет, есть windows-1251