Есть HTML документ в кодировке KOI8-R, он имеет META с content="text/html; charset=KOI8-R".
В браузере (IE в Windows, Mozilla в Linux) текст отображается корректно.
НО один из элементов в результате выполнения кода с использованием AJAX обновляется,
с сервера в него добавляется порция текста в кодировке KOI8-R же, и видно его в ДРУГОЙ кодировке (похоже на ISO8859-1).
Вопрос: Как заставить браузер выводить весь текст в ОДНОЙ и ТОЙ ЖЕ кодировке?
Спасибо.
>с сервера в него добавляется порция текста в кодировке KOI8-R же, и
>видно его в ДРУГОЙ кодировке (похоже на ISO8859-1).
>Вопрос: Как заставить браузер выводить весь текст в ОДНОЙ и ТОЙ ЖЕ
>кодировке?В момент вывода порции на запрос XMLHTTPRequest выдавать скриптом заголовок с "charset=koi8-r" и проверить чтобы отдавался оменно он, а не подменялся сервером. В HTML браузер в первую очередь на meta смотрит.
>
>В момент вывода порции на запрос XMLHTTPRequest выдавать скриптом заголовок с "charset=koi8-r"
Скрипт написан на php и в его начало я вставил header() с указанием кодировки.
При выполнении выполнении скрипта в консоли (php script_name.php) видно,
что описание кодировки выдается.
>и проверить чтобы отдавался оменно он, а не подменялся сервером. В
>HTML браузер в первую очередь на meta смотрит.
Как проверить? (поправить?)
>Как проверить? (поправить?)curl -I http://хост/путь/script_name.php
или в Firefox поставить LiveHTTPHeader
>или в Firefox поставить LiveHTTPHeader
Извините за назойливость, а если "обобщенный" браузер?
>>или в Firefox поставить LiveHTTPHeader
>Извините за назойливость, а если "обобщенный" браузер?LiveHTTPHeaders - это плагин для Firefox который показывает HTTP заголовки для отладки.
>Есть HTML документ в кодировке KOI8-R, он имеет META с content="text/html; charset=KOI8-R".
>
>В браузере (IE в Windows, Mozilla в Linux) текст отображается корректно.
>
>НО один из элементов в результате выполнения кода с использованием AJAX обновляется,
>
>с сервера в него добавляется порция текста в кодировке KOI8-R же, и
>видно его в ДРУГОЙ кодировке (похоже на ISO8859-1).
>Вопрос: Как заставить браузер выводить весь текст в ОДНОЙ и ТОЙ ЖЕ
>кодировке?
>Спасибо.пропишите средствами Apache кодировку для всего хоста.
>Есть HTML документ в кодировке KOI8-R, он имеет META с content="text/html; charset=KOI8-R".
>
>В браузере (IE в Windows, Mozilla в Linux) текст отображается корректно.
>
>НО один из элементов в результате выполнения кода с использованием AJAX обновляется,
>
>с сервера в него добавляется порция текста в кодировке KOI8-R же, и
>видно его в ДРУГОЙ кодировке (похоже на ISO8859-1).
>Вопрос: Как заставить браузер выводить весь текст в ОДНОЙ и ТОЙ ЖЕ
>кодировке?
>Спасибо.Если мне память не изменяет, то объект который реализует асинхронные запросы в браузере корректно работает только с UTF-8.
Использование UTF гарантирует корректную работу со всеми браузерами
P.S. А HTTP заголовки нужно корректно отдавать, так же, воизбежание головной боли - заголовками запрещать кеширование ассинхронных запросов.
в IE они жёстко кешируются.
>>Вопрос: Как заставить браузер выводить весь текст в ОДНОЙ и ТОЙ ЖЕ
>>кодировке?
>>Спасибо.header с указанием кодировки НЕЛЬЗЯ изменять после вывода в браузер хотя бы одного тега, до вывода - пожалуйста: создайте функцию, которая отконвертирует весь текст так как вам нужно до того, как в браузер пошли первые теги.
>Если мне память не изменяет, то объект который реализует асинхронные запросы в
>браузере корректно работает только с UTF-8.А если мне не изменяет память, то корректности можно добиться и с другими кодировками используя: encodeURIComponent(otpravlenayaPeremennayaKrivoyKodirovkiNeUTF)