Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.06.2016, 15:33
Интересующийся
Отправить личное сообщение для MrBean Посмотреть профиль Найти все сообщения от MrBean
 
Регистрация: 01.06.2016
Сообщений: 22

Отобразить страницу с одной кодировкой на странице с другой кодировкой
Есть страница в кодировке utf-8. В теле страницы есть строка, содержащая страницу в другой заведомо неизвестной кодировке. Нужно как-то отобразить эту строку на странице. Пытался вставить эту строку в iframe, но он отображает строку в кодировке родительской страницы. При этом известно, если в iframe скормить страницу в неизвестной кодировке через src, проблем нет. Пример кода:
<!doctype html><html>
<head><meta charset="utf-8"></head>
<body>

	<p>Строка в кодировке utf-8.</p>
	<iframe width="600" height="300"></iframe>
	<script>

		var unknown_charset_page  = '<!doctype html><html><head><meta charset="windows-1251"></head><body><p>??? ??????windows-1251.</p></body></html>';

		document.querySelector('iframe').contentWindow.document.write(unknown_charset_page);

	</script>

</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 03.06.2016, 16:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от MrBean
В теле страницы есть строка, содержащая страницу в другой заведомо неизвестной кодировке.
Что такая проблема узнать кодировку и конвертировать ее в ту, с которой работает сайт?
Ответить с цитированием
  #3 (permalink)  
Старый 03.06.2016, 16:57
Интересующийся
Отправить личное сообщение для MrBean Посмотреть профиль Найти все сообщения от MrBean
 
Регистрация: 01.06.2016
Сообщений: 22

Это абстрактная задача, хотелось бы найти решение именно в рамках этих условий.
Ответить с цитированием
  #4 (permalink)  
Старый 03.06.2016, 17:02
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А при чем тут абстракция? Или же вместо того чтобы определить кодировку текста выгоднее граблями оперировать?
Ответить с цитированием
  #5 (permalink)  
Старый 03.06.2016, 17:18
Интересующийся
Отправить личное сообщение для MrBean Посмотреть профиль Найти все сообщения от MrBean
 
Регистрация: 01.06.2016
Сообщений: 22

Нужен способ именно отобразить строку в документ с другой кодировкой без конвертаций.
Ответить с цитированием
  #6 (permalink)  
Старый 03.06.2016, 17:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от MrBean
ужен способ именно отобразить строку в документ с другой кодировкой
И как по вашему должен опознать такого "ерша" браузер, да и не обязательно он, любая программа отображающая текст? Что теги расставлять что вот тут utf, а с символа 261 начинает 1251?

В один поток нельзя.

PS. А вот в iframe, как другой документ, работать будет.

Последний раз редактировалось laimas, 03.06.2016 в 17:37.
Ответить с цитированием
  #7 (permalink)  
Старый 03.06.2016, 17:50
Интересующийся
Отправить личное сообщение для MrBean Посмотреть профиль Найти все сообщения от MrBean
 
Регистрация: 01.06.2016
Сообщений: 22

Может есть способ как-то обмануть браузер с чувством другого документа в iframe?
Ответить с цитированием
  #8 (permalink)  
Старый 03.06.2016, 18:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А в фрейме и без обмана будет документ отображен в той кодировке, в которой указано.
Ответить с цитированием
  #9 (permalink)  
Старый 03.06.2016, 19:12
Интересующийся
Отправить личное сообщение для MrBean Посмотреть профиль Найти все сообщения от MrBean
 
Регистрация: 01.06.2016
Сообщений: 22

Имелось ввиду, может есть способ динамически сформировать содержимое iframe и заставить браузер при этом думать, что в iframe другой документ, чтобы он отобразил его в оригинальной кодировке без кракозябр.
Ответить с цитированием
  #10 (permalink)  
Старый 03.06.2016, 22:38
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от MrBean
Нужен способ именно отобразить строку в документ с другой кодировкой без конвертаций.
Можно вставить собранный кусок нужного HTML в типовой документ в пустой фрейм, в хидере прописать нужную кодировку
<iframe name="IFRAME" width=100% height=300></iframe>

IFRAME.document.write(html)

Последний раз редактировалось Deff, 03.06.2016 в 22:43.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jCarousel - два раза на одной странице new jQuery 0 22.04.2010 22:20
Как перейти от одной формы к другой не используя header? Белая_Кошка Серверные языки и технологии 4 01.04.2010 02:47
Два одинаковых сценария на одной странице Genetics Общие вопросы Javascript 7 12.07.2009 01:46
Две одинаковые страницы: на одной скрипты видны, на другой нет Маня Общие вопросы Javascript 9 03.06.2009 11:57
Вставка текста с одной страницы в форму на другой странице Dima Общие вопросы Javascript 19 22.01.2009 17:35