Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > Проблема скодировкой текста!


Автор: MrDen 20.8.2006, 17:55
Ребята такая проблема. 
Есть *.xml файл:
Код

<?xml version="1.0"  encoding="Windows-1251"?>
<question><font size='+6' color='#FF0000'>Вопрос</font></question>

Загружаю его во ActionScript:
Код

myXML = new XML(); 
myXML.ignoreWhite = true; 
myXML.load("v1.xml");
myXML.onLoad = function(success)
{
if(success == true)
{
var question = myXML.childNodes[0];
_root.createTextField("txt",2,100,100,100,100);
txt.border = true;
txt.html = true;
txt.htmlText = question;
}
}

И получаю в этом TextField кракозябры. А если в xml текст на английском то все
замечательно работает. Что делать? Помогите!

Автор: szz 20.8.2006, 18:46
У нас флеш заглавный encoding не разумеет.

  Просто в начале флешмувика поставь:
Код
system.useCodepage = true;

Автор: MrDen 20.8.2006, 19:48
Спасибо! Получилось, только ты регистр не учел. Там будет:
Код

System.useCodepage = true;

Но это ерунда!
Еще раз спасибо!

Автор: szz 20.8.2006, 21:02
А я потому что этого не использую - предпочитаю данные в Unicode держать, так как часто приходится работать с разными экзотическими языками одновременно.

Автор: korob2001 7.12.2006, 07:36
Ребята привет!
Столкнулся почти с такой же проблемой, потому запостил сюда же.
Есть переменные и динамические поля, нужно сохранить в переменной скажем такое слово, из французского языка, "La société". Всё вроде ничего, но когда пытаюсь написать его, в панели Action, то тут же вижу вместо символов 'é' просто символы 'e'. ;(((((

Подскажите пожалуйста, как быть?

Автор: szz 7.12.2006, 08:00
Не совсем понял...  Т.е. в AS панели, где ты пишешь скрипт, не пишутся эти буквы? Или после запуска пропадают?

Автор: korob2001 7.12.2006, 08:14
Не пишутся в AS панели.
Например вместо символа ë пишется л. Только этот ё не из windows-1251, из latin1.
Вместо é пишет й, вместо символа ê пишет к.

Автор: AlDev 7.12.2006, 13:19
там Юникод. а не latin и тем более не windows-1251. Вот и вставляй как юникод

Автор: korob2001 7.12.2006, 14:42
Цитата(AlDev @  7.12.2006,  10:19 Найти цитируемый пост)
там Юникод. а не latin и тем более не windows-1251. Вот и вставляй как юникод

А чуточку подробнее, если можно? Не понял, что и куда вставлять? Мне нужно вставить символы: ÄÂÁÀâäáàËÊÉÈêëéèÝýÜÛÚÙûüúùÎÏÍÌïîíìÔÖÓÒöôóò
ну или хотя бы один из них.
Здесь (на форуме) я их набираю так же как и ASCII, с клавиатуры, а в панели AS не получается. ;(((( Зато с windows-1251 проблем нет.

Автор: korob2001 8.12.2006, 06:22
Всё, проблема решена. Указал напрямую Unicode коды.
Код

var txt = "La soci\u00E9t\u00E9";
_root.test.text = txt;

Проблема была в том, что я не знал как напрямую указать символы unicode в строке, а имено, что нужно начинать с \u0000. В Perl это будет выглядеть так \x0000. Вот эта разница в одном символе и сбила с толка.
Ладно всем спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)