LINUX.ORG.RU

JavaScript, !utf8 и Mozilla


0

0

Здравствуй, ALL!

В mozilla firefox-е наблюдается странная работа с кодировка при выполнении javascript: Русский тест в скрипте чудесным образом записывается в utf-8 + возникает проблема после выполнения такого кода и обновления окна. Например у меня два фрейма, в одном из них на событие выполняется

parent.titl.document.clear()

parent.titl.document.write("<html><body>")

parent.titl.document.write("Проверка русского")

parent.titl.document.write("</body></html>")

parent.titl.document.close()

во втором фрейме, который titl, появляется тект "Проверка русского", но после "Обновить" вылезают крякозябры (так как все страницы в koi8-r), и, что хуже всего, далее в этот фрейм ничего уже не запишешь.

Это баг? Кстати в опере и эксплорере все нормально.


Ответ на: комментарий от MOByte

Наверное, он про <meta http-equiv="content-type" content="text/html; charset=utf-8" />

Кроме того, полезно для JS тоже явно указывать кодировку: <script charset="UTF-8">

А, вообще, давно пора все подсистемы свои на UTF-8 переводить. Единая кодировка - это рулез по всем параметрам :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Наверное, он про <meta http-equiv="content-type" content="text/html; charset=utf-8" />

Именно про это.

PartyZan ★★★
()
Ответ на: комментарий от KRoN73

Все-равно не помогает:

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r">
<script language="JavaScript" charset="KOI8-R">
function maketitl(){
document.write("<html><head>");
document.write("<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=koi8-r'>")
document.write("</head><body>")
document.write("Проверка")
document.write("</body></html>");
document.close()
}
</script>
</HEAD>
<BODY vlink="blue" alink="blue">
<a onClick="maketitl();">Нажми</a>
</form>
</BODY>
</HTML>

MOByte
() автор топика
Ответ на: комментарий от MOByte

А вместо <meta bla-bla-bla > написать <meta bla-bla /> не пробовал?

PartyZan ★★★
()
Ответ на: комментарий от MOByte

Кстати, кажись понял в чем проблема... локаль у тебя какая? например сейчас проверял твой скрипт на своей машине (локаль cp-1251) - текст выводило в cp1251.
Так что похоже у тя локаль UTF и естественно если ты файл написал в кодировке UTF, то никакие пляски с meta не помогут

PartyZan ★★★
()
Ответ на: комментарий от PartyZan

> например сейчас проверял твой скрипт на своей машине (локаль cp-1251) - текст выводило в cp1251.Так что похоже у тя локаль UTF и естественно если ты файл написал в кодировке UTF, то никакие пляски с meta не помогут

Странно. У меня локаль koi8-r, и текст в koi8-r, а firefox пишет в utf-8. Короче, хрен знает.

MOByte
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.