Intereting Posts
JQuery скрыть все div, кроме divs, которые я ищу Создание графики SVG с использованием сценария на стороне сервера (PHP) Предварительный просмотр загрузки файла в формате HTML. Javascript Повторные идентификаторы в html-документе. Насколько плоха идея, если они ограничены div с уникальным идентификатором? Позиция CSS: фиксированная внутри позиционированного элемента Как сделать два divs плавать бок о бок? VBA excel Для каждой строки в ячейке соответствия таблицы в таблице с ячейкой в ​​таблице веб-страницы График gradleиента таблицы tr при наведении с использованием CSS Открывать всплывающее окно при открытии новой страницы Выравнивание двух элементов гибкости: один вверх, другой центрированный CSS-контент не работает Как сделать перемещение вверх и вниз при прокрутке страницы? Удалить текст между HTML-тегами в vim? CSS Flexbox – организация гибких элементов на основе размера экрана Является ли URL-адрес Doctype HTML загруженным браузером клиента?

Специальные символы отображаются как? Метки

У меня есть специальные персонажи:
http://209.141.56.244/test/char.php

но когда я возьму этот файл через ajax здесь, они появятся снова? Метки:
http://209.141.56.244/test/char.html

Эти символы должны быть «ISO-8859-1 Western», но переключение кодировки браузера на любой из параметров не помогает.

Почему это и как я могу это исправить?

Ваш сервер отправляет ответ Ajax как text/html , что делает браузер предполагаемым UTF-8 (который по умолчанию), но ваши данные не являются UTF-8.

Отправьте ответ Ajax как text/html; Charset=Windows-1252 text/html; Charset=Windows-1252 (вы на самом деле не используете ISO-8859-1), и он должен работать.

 header('Content-Type: text/html; Charset=Windows-1252'); 

PS: Переключение браузера на другую кодировку не помогает, потому что это влияет только на страницу. Последующие ответы Ajax все еще декодируются в соответствии с их соответствующими заголовками.

Ваша страница возвращает text/html как Content-Type , поэтому браузер (и сценарий ajax) интерпретирует их с помощью кодировки по умолчанию, заданной текущим контекстом.

В php вы можете заставить кодирование использовать функцию заголовка для html-версии, вы должны использовать файлы конфигурации apache (при условии, что вы используете apache, иначе смотрите ваш веб-серверный документ).

http://www.w3.org/International/O-HTTP-charset говорит

Очень важно всегда указывать веб-документы в явном виде. HTTP 1.1 говорит, что кодировка по умолчанию – ISO-8859-1. Но в других кодировках слишком много немаркированных документов, поэтому браузеры используют предпочтительную кодировку читателя, когда нет явного параметра charset.

с той же страницы

Apache . Это можно сделать с помощью директив AddCharset (Apache 1.3.10 и более поздних версий ) или AddType для каталогов или отдельных ресурсов (файлов). С помощью AddDefaultCharset (Apache 1.3.12 и более поздних версий ) можно установить кодировку по умолчанию для всего сервера. Для получения дополнительной информации см. Статью « Настройка charset» в .htaccess.