Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Flash => javascript кодировка (http://www.flasher.ru/forum/showthread.php?t=75564)

tooner 15.02.2006 13:55

Flash => javascript кодировка
 
Вопрос такой
Из флэша, с помощью getURL("javascript:sendTxt('"+txt+"')"); передаю в javascript строку из переменной txt. Все вроде нормально, но спецсимволы немецкого языка (с умляутами которые) передаются без двоеточия сверху, а другие спецсимволы вообще в виде знаков вопроса. Понимаю, что проблема с кодировкой, но решения сам найти не смог :(
Помогите, пожалуйста!

Antares 15.02.2006 14:04

Какая кодировка у страницы? Передача идет в Юникоде UTF-8

tooner 15.02.2006 14:09

Так и прописано
Код HTML:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

Antares 15.02.2006 14:46

Был у меня однажды прикол: приходившие данные были 100% в Юникоде, а принимать их ролик как юникод не хотел. Т.е. контент-тайп указан с юникодом, а работает лишь при включенной System.useCodepage

В итоге все решилось где-то на уровне Апача.

tooner 15.02.2006 14:51

сейчас попробовал передавать спецсимволы в виде \u00d6 и тп. Передаются как-надо. Неужели придется писать перекодировщик символов в строке? :(

Вот такая функция получилась, может кому-то пригодится:
Код:

function funcReplace(txt:String){
var umlaut:Array = new Array("Ä","ä","Ö","ö","Ü","ü","ß");
var unicode:Array = new Array("\\u00c4","\\u00e4","\\u00d6","\\u00f6","\\u00dc","\\u00fc","\\u00df");
for (var i = 0; i<umlaut.length; i++){
txt = (txt.split(umlaut[i])).join(unicode[i]);
}
return txt;
}

За основу взял функцию iNils'a. Спасибо ему огромное!

Antares 15.02.2006 20:41

Тебе спасибо, надо добавить в FAQ

Crazy 15.02.2006 23:04

Цитата:

Сообщение от tooner
Так и прописано
Код HTML:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

А какая связь между этой строкой и тем, какую кодировку сервер укажет в заголовках HTTP-ответа?

Antares 16.02.2006 00:04

Какого именно ответа, пардон?


Часовой пояс GMT +4, время: 22:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.