PDA

Просмотр полной версии : Flex && XML && русский язык


Tim SharK
08.04.2009, 20:44
Проблема возникла такая: если создать XML файл с русским языком, а потом прочитать его во что-нибудь вроде XMLList, XMLDocument или XML, то получается такая картина:
http://thumbnails17.imagebam.com/3213/bcfba432129446.gif (http://www.imagebam.com/image/bcfba432129446)

Может кто распознает кодировку. Это тоже полезно будет.
Но конечно-же решением этой проблемы будет подсказка какого-нибудь метода подружить флекс с русским языком в XML документе.

И еще проблемка: прокручивание Lista происходит дискретно (не плавное прокручивание, а скачки по 1.5 элемента List'a за страницу прокрутки). Как сделать плавное прокручивание ?

wvxvw
08.04.2009, 20:52
Не создавайте XMLей ни в каких кодировках кроме UTF-8.

Tim SharK
08.04.2009, 20:55
ну, я создаю XML'ки как текстовые документы (*.txt), там всё нужное записываю, потом переименовываю в .xml и использую.
В этом всё дело ?

Добавлено через 3 минуты
а, кстати, когда я записываю по-байтово XMLList из программы в XML-файл, то там то-же такая картина:
<notes>
<note>
<date>8/4/2009</date>
<text>Сделать swf'ky, в которой содержатся все иконки для учетной книги</text>
</note>
</notes>

wvxvw
08.04.2009, 22:18
ОК, перефразирую: создавайте XML только в UTF-8 кодировке... :confused:

Bruiser
09.04.2009, 10:01
Дофразирую
напиши первой строчкой в xml-файле
<?xml version="1.0" encoding="utf-8"?>

etc
09.04.2009, 10:10
Bruiser, если на сарае написать «Дрова», то это не значит, что там действительно будут дрова.

Bruiser
09.04.2009, 10:12
Логично

etc
09.04.2009, 10:18
Поэтому надо сохранить файл в utf-8, а не писать в начале строчку, что он якобы в utf.

Tim SharK
09.04.2009, 11:58
скажите пожалуйста как это сделать

etc
09.04.2009, 12:26
Блокнотом.

Doctor76
09.04.2009, 13:28
Файл открыть в блокноте, нажать -- Save As,
и в нижнем окошке выбрать UTF-8

Dimas_Art
09.04.2009, 14:56
А если RSS возвращает подобное??? Как решить эту проблему? Я не по могу у них там пересохранить в другом формате :(

wvxvw
10.04.2009, 03:31
Если вы знаете, в какой кодировке - то можно попробовать перекодировать, если не знаете в какой кодировке - можете попробовать угадать - шансы угадать примерно 1 к 50. :)

nauroman
16.04.2009, 06:03
Привет. У меня похожая проблема. Для загрузки контента на flex сайт, использую php, который сам в себя пишет структуру каталога.
Во flex при отображении(?) кириллические имена ломаются, на вид кодировка такая же, как в примере Dimas_Art... Что делать ? Не понятно..

Добавлено через 6 минут
Ой. Простите. Разобрался. Нужно было просто добавить:

System.useCodePage = true

etc
16.04.2009, 07:37
nauroman, useCodepage — зло. Правьте php, чтобы он использовал нормальную кодировку.

nauroman
16.04.2009, 11:20
1. Почему зло ?
2. Что значит Правьте php ? И какая кодировка нормальная ? Если я делаю

<?xml version="1.0" encoding="utf-8"?>

То ничего не меняется - flex продолжает писать загогулины

etc
16.04.2009, 11:26
1. Почему зло ?
2. Что значит Правьте php ? И какая кодировка нормальная ? Если я делаю

<?xml version="1.0" encoding="utf-8"?>

То ничего не меняется - flex продолжает писать загогулины

1. Потому что Flash начинает использовать кодировку, которая установлена в системе по умолчанию. Это значит, что пользователи с иной системой или кодировкой текст не увидят вообще.

2. utf-8. То, что вы указали кодировку utf-8 в заголовке, вовсе не означает, что контент будет в этой кодировке. Поэтому либо нужно проводить конвертацию непосредственно перед выводом потока, либо переводить источник данных сразу в нормальную кодировку и не делать вообще никаких конвертаций.

ekonomizer
08.09.2011, 16:55
Помогите пожалуйста тоже возникла похожая проблема.
У меня приложение загружает данные с сервера(php) в ComboBox. Пользуюсь автоматическим подключением данные/службы подключиться к php. Устанавливаю ZendFramework итп.
Загружает кракозябры:(
Все php файлы службы в utf8 без BOM. База Mysql, таблицы все созданы в utf8 general ci. Данные в таблицу вносил вручную кириллицей.
При подключении к БД в php прописываю:
setlocale(LC_ALL, 'ru_RU.utf8');
mysql_query('SET NAMES utf8');

То есть все как бы в utf8 и приложение соответственно тоже.

Монитор сети показывает:
Заголовки:
Accept-Language:ru-ru,ru; q=0.8,en-us;q=0.5,en; q=0.3
Contetnttype=application/x-amf
Accept-Charset:windows-1251, utf8;q=0.7,*,q=0.7

Нашел проблему - данные в таблицу вносил вручную на кириллице. Попробовал занести через скрипт, все стало нормально отображаться в Flex и кракозябрами в БД. :)
Возник вопрос - Можно ли адекватно вручную в таблицу utf8 внести данные на кириллице?
Ответ найден спустя 2 дня мцчений сообща:)
вот (http://forum.php-myadmin.ru/viewtopic.php?pid=17466#p17466)ссылка на это сообща, а тут все как то мертво...