Примечание: Я знаю, что все должно быть UTF-8, однако на данный момент веб-сайт, который я поддерживаю, должен предоставить ISO-8859-1.Акцентированные символы, не отображаемые в textarea, встроенные в iframe
У меня есть окно поиска, которое загружает результаты в iframe. Один из результатов поиска содержит следующую строку в текстовом поле.
"#% & $«() * +, -/:; < =>
@ABCDEFGHIJKLMNO PQRSTUVWXYZ []^_
`abcdefghijklmno pqrstuvwxyz!. {|} ~
¡¢? £ ¤ ¥ |§¨ © ª «¬®¯ ° ± ²³'μ¶ · ¸¹º» ¼½¾¿
àÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ ðÑÒÓÔÕÖ × ØÙÚÛÜÝÞß
àáâãäåæçèéêëìíîï ðñòóôõö ÷ øùúûüýþÿ
ASDF
Если открыть результаты поиска в своей собственной странице поле выглядит правильно, но когда результаты помещаются в IFRAME они выглядят как
"# $% &«() * +,! -./:; < =>?
@ABCDEFGHIJKLMNO PQRSTUVWXYZ []^_
`abcdefghijklmno pqrstuvwxyz {|} ~
Asdf
Заголовки запросов:
- Accept: */*
- Accept-Encoding: gzip, deflate, sdch
- Accept-язык: en-US, en; q = 0,8
- Связь: keep-alive
- Тип контента: application/x-www-form-urlencoded; charset = iso-8859-1
- User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, как и Gecko) Chrome/46.0.2490.71 Safari/537.36
- X-не Requested-With: XMLHttpRequest
Response Headers:
- Cache-Control: нет-магазина, не-кэш, нужно обязательно перепроверять, после проверки = 0, - предварительно -check = 0
- Connection: Keep-Alive
- Content-Encoding: GZIP
- Content-Type: текст/html; кодировка = изо-8859-1
- Дата: Пт, 16 октября 2015 16:25:13 GMT
- Истекает: чт, 19 ноября 1981 8:52:00 GMT
- Keep-Alive: Тайм-аут = 15, макс = 73
- Pragma: нет кэша
- Сервер: Apache
- Transfer-Encoding: Chunked
- Vary: Accept-Encoding
- X-Powered-By: PHP/5.3.28-pl1- gentoo
И это JS загружающего IFRAME
$.ajax({
url: url,
contentType: 'application/x-www-form-urlencoded; charset=iso-8859-1',
success: function (data) {
var document = $('#searchResults')[0].contentDocument || $('#searchResults')[0].contentWindow.document;
document.write(data);
document.close();
}
});
Любые идеи, что я могу сделать, чтобы получить символы, чтобы показать?
Редактировать - Забыл отметить: после загрузки страницы, открывая инструменты разработчика показывает некоторые интересные результаты:
$ ('# SearchResults') содержание() найти ('текстового поля')... val() - отображает сокращенный текстовый блок, символы просто отсутствуют
$ ('# searchResults'). contents(). find ('textarea'). text() - отображает полный текстовый блок, все отсутствующие символы появляются здесь
Редактировать 2 - Еще один важный момент, Windows 7, наблюдаемый в IE11, Firefox41 и Chrome46
Что такое кодировка в метатете метатеги iframe? –
Оба родительского документа и iframe имеют один и тот же тег, –