In-Reply-To: <no.id>; from MX% "apache-rus@lists.lexa.ru" 14-OCT-1998 19 on Thu, Oct 15, 1998 at 09:33:19AM +0300
On Thu, Oct 15, 1998 at 09:33:19AM +0300, Алексей В. Меледин wrote:
> > Проблема вот какая. Иногда на JavaScript бывает очень удобно
> >генерировать HTML-документы :
> >
> >document.open();
> >document.writeln(...);
> >document.writeln(...);
> >document.close();
> >
> > И все было бы хорошо, пока не пришли новые нетскейпы - я имею
> >ввиду 4.06, 4.5, 4.07. У генерируемого документа чарсет получается
> >iso-8859-1 ! Хотя у документа, в котором работала JS-программа,
> >сгенерировавшая документ, чарсет прописан и прописан правильно.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Не может быть. У меня такая бага только под ИЕ4. Пишу в фрейм из
> документа в указанной чарсет, а в итоге получается, что фрейм генериться в
> Unicode. Ни предвварительная загрузка в него пустого документа с чарсет, не
> указание в сгенеренном файле чарсет - ничего не помогает. На www.webclub.ru
> где-то конфа лежит, но там мы так и не нашли выхода.
> C Нетскапе 4.05 такого бага не выходило. Генерил он исправно. Если ты
> генеришь из того же документа, то полезно помотреть, в какой кодировочке у
> тебя грузанулся документ до document.open();
Прошу прощения, что вмешиваюсь в офтопик, :) но, во-первых, эффект, о
котором говорил Феликс, имеет место, во-вторых, на чарсет родителя он
смотрел - читайте внимательно оригинальный мейл. У меня лично с NC-4.06
порождение document.open() всегда имеет charset=koi8-r, и никакими
ухищрениями не удается от этого избавиться, включая попытки написать
document.open("text/html;charset=..."), включить таг
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=...">,
и конечно, игры с чарсетом документа-родителя.
Интересно другое. У меня Netscape-4.06 всегда перекодирует (причем совершенно
корректно) в koi8-r все, что проходит через document.write(), но только для
кодировок koi8-r, windows-1251, utf-8 и iso-8859-5. Для ibm866 перекодировка
не выполняется, для x-mac-cyrillic часть кириллицы выдается как "?",
а часть просто теряется. По-видимому, нетскейп корректно работает лишь
с теми кодировками, которые ему известны.
Кроме того, документ явно фильтруется нетскейпом, в частности, откуда-то
появляется таг <BASE HREF=...>, а все HTML-таги преобразуются в upper case.
Для тех, кто хочет проверить, кидаю скрипт:
<script language=JavaScript>
wp=window.open();
wp.document.open();
letters="юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧёЁ"
// wp.document.write("\<meta http-equiv='Content-Type'"+
// " content='text/html; charset=windows-1251'\>\n\n");
wp.document.write("Проверка связи<br>\n");
wp.document.write("len="+letters.length+"<br>");
for(i=0;i<letters.length;i++){
chr=letters.substring(i,i+1);
wp.document.write(escape(chr)+" '"+chr+"'<br>");
}
wp.document.close();
</script>
> Все таки тема эта не для apache-rus, а для javascript-rus или Netcaster :),
> IMHO
IMHO, если не очень шуметь, Alex поленится выйти в эфир со своей метлой... :))
--
Eugene Berdnikov
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.