Кодировка символов изменяется после window.open () - PullRequest
5 голосов
/ 26 января 2010

Сайт, с которого я вызываю функцию window.open(), находится в UTF-8 с использованием тега <meta>, все работает хорошо, но как только я вызываю функцию и открываю другое окно с тем же тегом, новый В окне отображаются странные символы, даже если в информации о странице присутствуют мысли, что кодировка остается неизменной (UTF-8).

Это та же проблема, что и у меня: http://bytes.com/topic/javascript/answers/622922-character-encoding-after-window-open

Ответы [ 4 ]

2 голосов
/ 06 мая 2011

У меня была точно такая же проблема.

Проблема оказалась в том, что я установил "Session.CodePage = 65001" в открывшемся окне. Это испортило кодировку символов для этой сессии. Поэтому, когда я обновил «главную» страницу, некоторые символы (например, ääö) неожиданно были искажены.

Решение: убедитесь, что страница в новом окне не меняет кодовую страницу сеанса. Удачи!

2 голосов
/ 20 марта 2012

У меня была такая же проблема. Просто используйте unescape(decodeURIComponent( YOUR_URL )) внутри window.open().

Например: window.open(unescape(decodeURIComponent( YOUR_URL )), '_blank');

Надеюсь, это поможет.

1 голос
/ 15 июля 2014

Добавьте атрибут charset = "UTF-8" в теги javascript. По крайней мере, это сработает, если причиной искаженных символов является ваш включенный JavaScript.

0 голосов
/ 26 января 2010

Если браузер использует одинаковую кодировку для обеих страниц (что, по-видимому, так и есть), то проблема должна быть в самой странице. Возможно, он содержит недопустимый код UTF-8.

...