PDA

Просмотр полной версии : Flash => javascript кодировка


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

Antares
15.02.2006, 14:04
Какая кодировка у страницы? Передача идет в Юникоде UTF-8

tooner
15.02.2006, 14:09
Так и прописано
<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
Так и прописано
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

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

Antares
16.02.2006, 00:04
Какого именно ответа, пардон?