Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Flex и кодировка текста (http://www.flasher.ru/forum/showthread.php?t=136570)

Saulot 19.02.2010 19:17

Flex и кодировка текста
 
Проблема в следующем:
Есть код, поражающий своей оригинальностью.
Код AS3:

<mx:ComboBox id="cameras" dataProvider="{new ArrayCollection(Camera.names)}"

Как несложно догадаться - это просто комбобокс, реализующий просмотр списка подключенных камер и выбор из них нужной.
Проблемы начинаются, когда в названии камеры встречаются кириллические символы.
Естественно, Flex и его UTF-8 не могут нормально отобразить имена, предоставляемые Окном и его у***ской cp1251.
Просьба:
Может кто подсказать способ перекодировки имен камер не отправляя их на сервер(смена кодировки проекта - к сожалению не вариант)?

wvxvw 19.02.2010 19:44

Проверить Capabilities.language и попробовать угадать... Или предложить пользователю самому указать язык - ИМО последнее, самое оптимальное.

Saulot 19.02.2010 20:21

Боюсь, что либо я не понял ответа, либо вы не поняли вопроса.
Мне все равно какой язык стоит у пользователя.
Просто на Windows все имена камер приходят в cp1251. Что мне нужно - так это способ перекодировки из cp1251 в utf8 без использования сервера.

wvxvw 19.02.2010 21:24

Как бы это еще сказать... если вы не знаете какой язык установлен в системе пользователя, вы не сможете узнать как сконвертировать этот текст в UTF-8. Текст в cp1251 ничем не отличается от текста в cp1255, например, только если у вас в системе указано использовать кирилицу для отображения дополнительных символов, то если набраный текст был тоже кирилличным - вы его увидите, более или менее, а если это был какой-то другой, то увидите опять же кириличные буквы, только смысла в них никакого не будет.

DАSOLTER 19.02.2010 21:29

Цитата:

Сообщение от wvxvw (Сообщение 887989)
Проверить Capabilities.language и попробовать угадать... Или предложить пользователю самому указать язык - ИМО последнее, самое оптимальное.

да, да, кстати,насчет "угадать"? Я тоже сталкивался с этим, но с проблемой угадать все решалось за счет конкретного источника геммороя...)) А есть ли в действительно хитро***выдуманные способы этой проблемы? ;) Жду ответа, прищурись.

Добавлено через 4 минуты
не успел :) К сожалению, это true (

BeDLiNt 20.02.2010 12:44

Перекодировка из windows-1251 в UTF-8:
Код AS3:

private function win2utf8(data:String):String
{
        var b:ByteArray = new ByteArray();
 
        for (var i:uint = 0; i < data.length; i++)
                b[i] = data.charCodeAt(i);
        return b.readMultiByte(b.bytesAvailable, "windows-1251");
}


Saulot 22.02.2010 11:21

Благодарю за внимание, разобрался.

GrMerlin 23.02.2010 15:47

А не подскажете, как эту функцию применить к ArrayCollection? Желательно в виде примера. Допустим, есть поля "имя" и "фамилия"...

bastrakov 26.02.2010 10:17

пробегитесь циклом по всем записям.
выше вам дело говорят. вы уверены, что у вас только кодировка 1251? во


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

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