Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2010, 18:45
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

отображение windows1251 в utf-8 сайте в IE 6.0
Здравствуйте!
Имеется проблема! На сайте с utf-8 кодировкой имеется
<script src='file.php'></script> который подгружает текст в кодировке windows-1251 и отображает его. Но при отображении текста там каша, а не текст. Как можно решить эту проблему, не подскажите?
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2010, 18:50
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

сохранить файл JS как utf-8, либо на стороне сервера перекодирать
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2010, 19:20
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

это тизерная сеть. Заранее не известно, на сайт с какой кодировкой загрузиться текст. Потому если изначально текст будет в utf-8, то на сайтах с windows-1251 тоже будут показываться крякозабли. Эти проблемы возникают только в IE 6.0 а остальные браузеры отображают нормально!
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2010, 19:53
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Болеет IE6 этим. Заменяйте русские буквы на юникодные последовательности.

alert('\u041f\u0440\u0438\u0432\u0435\u0442')
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2010, 20:06
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

Kolyaj, спасибо большое!
Ответить с цитированием
  #6 (permalink)  
Старый 28.10.2010, 20:37
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

Опять таки проблема!
Имеется php файл с windows-1251 кодировкой который генерируется js код.
var txt = ['строка'];
var txtNode = document.createTextNode(txt[0]);
someElem.appendChild(txtNode);

Js выводится на сайт следующим образом <script src="domain.ru/file.php"></script>
И если сайт на который выводится текст имеет отличную от windows-1251 кодировку, то в место текста выводятся не понятно что!
В php пытался сделать следующее
$cyr = array("А"=>"\u0410","Б"=>"\u0411"); // создал ассоциированный массив и заменил все символы кириллицы на юникод последовательность
$js = "var txt = ["\u0410\u0411"];

Но все равно при выводе этих юникод последовательностей получается каша а не текст, если кодировка отличается от windows-1251
Не подскажите как мне передать текст из php, что бы текст нормально отображался в любой кодировке или хотя бы utf-8
Заранее благодарен!
Ответить с цитированием
  #7 (permalink)  
Старый 28.10.2010, 21:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Должно нормально работать, где-то в другом месте ошибка.
Ответить с цитированием
  #8 (permalink)  
Старый 28.10.2010, 21:34
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Как вариант:

1. задать кодировку с помощью header('Content-Type: text/html; charset=utf-8');
2. открыть к примеру NotePad++ и сохранить в той кодировке документ в какой нужно (только без BOM).
Ответить с цитированием
  #9 (permalink)  
Старый 28.10.2010, 22:39
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

1)в php файле заголовок кодировки передается
header('Content-Type: text/html; charset=windows-1251');
2) php файл сохранень в кодировке windows-1251

И что интересно при просмотре полученного js кода по ссылке http://domain.ru/file.php то в массиве с текстом не юникод последовательность, а текст.
Т.е. ожидалось увидеть var txt = ["\u0410\u0411"] а показывается var txt=["АБ"];
Ответить с цитированием
  #10 (permalink)  
Старый 28.10.2010, 22:52
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

Всем еще раз спасибо! да оказывается ошибка была в php коде и юникод последовательность не выводилась
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение времени на сайте если человек находится в другом поясе. alex244_97 Я не знаю javascript 2 20.05.2009 19:42
отключение кнопочки обновления на сайте azetoon Общие вопросы Javascript 3 29.06.2008 11:14
Отображение локальных картинок на удаленном сайте Esciloner (X)HTML/CSS 3 17.12.2007 01:48