PDA

Просмотр полной версии : [mx] Загрузка из .txt


Леха
15.04.2002, 14:31
Взял свой пятерочный скрипт и сунул его в MX.В скрипте есть загрузка текстового фаила.Перевел энтот фаил в unicode и...ничего!!!ЧТО?КАК?Кто уже сталкивался,подскажите!!!

Max N Chubin_
15.04.2002, 14:46
в чем проблема то?
все жужжит пучком и в 5ке и в 6ке то же самое..
файл то какой?
v=bla bla bla&v1=bla1 bla1 bla1

или обычный текст?
как грузишь?

Леха
15.04.2002, 15:13
дык вот кусок:
skod0=33522&sname0=Спальня «Омега»&sprice01=17940&sprice02=0&sprice03=0&skod1=63363&sname1=Спальня «Омега- 1 »&
правда расширение на фаиле у меня не .txt,но я думаю из-за этого не может быть глюка,т.к. в пятерке все пучком было :confused:

andrrrr
16.04.2002, 17:16
ta.txt

z=111 %d1%91 222 абра

ta.fla

Li = new LoadVars();
Lo =new LoadVars();
Lo.sendAndLoad("ta.txt", Li, "POST");

ну и дебугим и смотрим бл. что там вышло ::

Variable _level0.Li = [object #1, class 'LoadVars'] {
z:"111 ё 222?"
}


круто да?
буква "Ё" есть а "абра" куда то провалилась блииин ))
так что из txt русскую фигню не загрузить, или загрузить, но неизвестным мне каким то волшебным образом.
надо кодировать в unicode. такие функции перек-ия я на php написал, и когда то тут выложил....
так мой чат работате на flashmx -> FI.HOHA.RU

Stellerex
16.04.2002, 17:29
Нда... случай, безусловно, тяжелый, но не клинический.
Смотри аттач.

Stellerex
16.04.2002, 17:30
Хм... rar не прицепить...

andrrrr
17.04.2002, 19:03
ну хрен с вами.
у вас в unicod'е, а у меня в ansi.

я пробовал на php считывать из unicod'ного txt и он виснет,
так что ничего типа рускоязычной гостевой книги сделать не получится.
...может и можно как то, но функций для unicod'а в php нет.
--

Stellerex
17.04.2002, 19:16
А ты не геморись и отправляй не в уникоде, а в своем любимом ANSI. Только перед отправкой поэскейпь, а после приема, соответственно не забудь разэскейпить.
И все у тебя получится :)

john
17.04.2002, 19:38
Есть возмжность отключить работу с полученными данными как юникод,
и включить режим Flash 5 в MX,


System.useCodepage = true;

http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary798.html

думаю это для крайних случаев, юникод всетаки лучшее...
особо не тестил, так что будет интересен результат.

andrrrr
17.04.2002, 20:52
дело в том, что поэскейпить для флеша стандартной функции в php нету. обычный urlencode(); не прокатит.

andrrrr
17.04.2002, 20:55
и ещё
поэскейпаный текст, когда на флеш приходит, сам разэскейпивается.

Max N Chubin_
18.04.2002, 10:58
есть еще один "кривой", но быстрый способ обойти эту проблему. Вчера, поковырял малехо... Короче делаем так, в установках Publish Setting в Flash MX ставим генерить SWF в формате Flash 5 и публикуем. Загрузка переменных происходит красиво, без уродства и При этом такие вещи как например загрузка JPG во флэшку работают, если все это хозяйство исполняется в 6-ом плейере . Правда остальные вещи я не пробовал... просто добавлял загрузку картинок для коммерческого сайта, некогда было поиграться с новыми элементами Flash MX (типа checkBox, comboBox). Попробуйте кто нть, интересно работают ли остальные фичи от 6 ки в таком варианте? Жаль только теряется возможность Compress Movie, но если это все что теряется тада и флаг в зубы!

Max N Chubin_
18.04.2002, 11:18
Спасибо тебе good человек с гордым америкосовским именем JOHN, что по нашему ИВАН!!! :-)

System.useCodepage = true;
работает на УРА!

Леха
18.04.2002, 12:29
to john:Спасибо,сейчас буду пробовать!Хоть кто-то дельное предложил :D

Max N Chubin_
18.04.2002, 12:43
2 lexa:
есть тут правда грабли дружище...
например если у кого то стоит вражеская версия винды и local settings установлены как German, English or etc.
то он таки не увидит русского текста..
и хотя у меня есть сильные сомнения что таких людей будет много, но все таки и у этого способа есть изъяны..

Чот ты думаешь на этот счет?

Stellerex
18.04.2002, 12:54
Оригинал написал(а) andrrrr
поэскейпаный текст, когда на флеш приходит, сам разэскейпивается.
Ну, "для себя я эту проблему решил" :)
Если нет возможности наладить обмен данными в уникоде, положи на LoadVars и используй объект XML. Все текстовые поля эскейпятся на сервере, на клиенте же вешается обработчик не на событие onLoad, а onData. Ему приходит т.н. raw string, который нужно разэскейпить, а потом распарсить. Работает везде.

Леха
18.04.2002, 13:13
to Max N Chubin_:В принципе мине энто надо для прожектора...Нот за заботу,дружище,спасибо!!! :D

Nox Noctis
23.01.2004, 17:26
тема древняя, но постоянно до сих пор народ нарывается..
поразительно :)

вот, повесил пример загрузки всяких разных кодировок
http://www.noregret.org/test/encoding/

в исходнике то же самое.

есть одна простая вещь, которая может стать сильными граблями.. если вы генерите из русского текста (в обычном анси-формате вин1251) юникод, то он будет корректно отображаться только если у вас кодировка по умолчанию для не-юникодных программ указана РУССКАЯ.

это оч логично и естесственно, но может быть не совсем очевидно :)

вот тут (вин ХП): http://www.noregret.org/test/encoding/encoding.gif

http://www.noregret.org/test/encoding/encoding.gif

в исходнике есть юникод, сгенеренный при дефолтовой вин1251 (русская) и при дефолтовой вин1252 (английская, сша)

видим что получилось.

Gary
30.01.2004, 07:40
зачем ставить System.useCodepage=false, если по умолчанию там так стоит? Важно для меня : я не ставил, может поэтому не читается? Но ведь в мануалах прописано что по умолчанию стоит FALSE?
Пример хороший. Про кодовую страницу важно по-моему при перекодировке. Читал тоже, но не разжевал :).
Спасибо!

Nox Noctis
30.01.2004, 13:27
Оригинал написал(а) Gary
зачем ставить System.useCodepage=false;исключительно для того чтобы подчеркнуть. что этот флажок включать НЕ НАДО :) это же учебный пример...

и вообще, не грех напомнить себе в коде о настройках, которые имеют принципиальное значение, но и так устанавливаются по умолчанию правильно...

по просьбе трудящихся - тут исходни в формате МХ (тот что выше - МХ2004)

Spany
30.01.2004, 13:45
Объясните, пожалуйста, а как загрузить символы немецких букв (например, "ä" или "à") в динамическое текстовое поле?
Я пробовала ставить
system.useCodepage = true;
или так
system.useCodepage = 1250;

шрифт для текстового поля пробовала разный. Сейчас стоит "Arial CE"
Текстовое поле подгружает текст как HTML

Все равно символы выводятся как квадратики или палочки:-(

Spany
30.01.2004, 13:49
Я имела в виду символы такого вида
ä
à

Nox Noctis
30.01.2004, 14:17
system.useCodepage = true;
— говорит о том, что все что загружается из внешних источников
надо воспринимать НЕ КАК ЮНИКОД.
текстовый файл должен быть сохранен в обычном, не-юникодном формате.

отображение/не отображение символов будет полностью зависеть от того,
какая кодировка по умолчанию установлена в системе (см. картинку выше).

system.useCodepage = false;
— говорит о том, что все что загружается из внешних источников
надо воспринимать КАК ЮНИКОД.
текстовый файл должен быть сохранен в юникоде (UTF8, UTF16 LE/BE)

отображение/не отображение символов не будет зависеть от того,
какая кодировка по умолчанию установлена в системе.

сохранить текст в нужной кодировке можно почти любым текстовым редактором. (в вин ХP, например, это умеет даже убогий Notepad :) )
http://noregret.org/test/encoding/encoding_notepad.gif

http://noregret.org/test/encoding/encoding_notepad.gif

по поводу проблем с конвертацией см. выше.

Spany
30.01.2004, 14:56
БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!! :) :) :) Перевела в unicod и все получилось! Забавно, что текст нормально отображается только с кириллическими шрифтами (Arial Cyr и т.д.). А ведь у немцев его не будет. Что они-то увидят?

Spany
30.01.2004, 15:09
А, нет, извините, просто _sans тоже сработал!

Nox Noctis
30.01.2004, 15:13
Оригинал написал(а) Spany
текст нормально отображается только с кириллическими шрифтами (Arial Cyr и т.д.). А ведь у немцев его не будет. Что они-то увидят? когда ты используешь шрифт во флэше - у тебя всегда есть взможно включить его в свф, и будет абсолютно не важно есть ли такой шрифт у клиента.

Spany
30.01.2004, 15:34
А для динамических полей это тоже актуально? Я просто читала, что вроде это только для статических...

Nox Noctis
30.01.2004, 15:57
Оригинал написал(а) Spany
А для динамических полей это тоже актуально? Я просто читала, что вроде это только для статических... для статических все происходит само собой.
а для динамических надо включить шрифт в свфку,
— если ты хочешь чтобы на компе клиента он выглядел именно так как у тебя,
— если ты хочешь применять к динамическому тексту какие-либо эффекты, вращать его, ставить под маску и т п...

http://noregret.org/test/encoding/include_font_outlines.gif

Nox Noctis
30.01.2004, 16:07
в меню
File -> Publish Settings... -> Flash ->
установить галку "Generate size report"

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

в частности - там будут перечислены все символы всех шрифтов включенных в свф.

лучше редактировать уже в МХ 2004, даже если вы компилите все равно под шестой плеер и АС1.0

в МХ2004 гораздо убоднее настройки групп символов шрифта, которые можно включить в свф. если подключать шрифт целиком - это автоматически прибавит размер свфки на размер шрифта (+15~20Kb для полных шрифтов, типа Ариала)

Aib
07.03.2004, 13:59
System.capabilities.language = 'ru' устанавить не нужно?

Nox Noctis
07.03.2004, 14:33
ээ... вообще-то все свойства объекта System.capabilities -
это сведения о системе, в которой проигрывается флэш.. :)

нет никакого смысла там что-то устанавливать...

или я отстал от жизни ? :)

Aib
07.03.2004, 17:19
Ну я конечно не знаю, но вот у моего друга на машине без этой строчки одни вопросики что в trace что в текстовые поля рисуются.

leadaxe
29.03.2004, 18:32
Я тут зашел с вопросом по поводу .load(), но нашел все ответы в вашем обсуждении. Отдельное спасибо за простое объяснение system.useCodepage :p
:rolleyes: НЕ ПОРА ЛИ ДОПОЛНИТЬ FAQ?

Lon
23.04.2004, 17:31
Никак не получается вставить литовский текст со всякими там точками и закорючками на буквами, максимальное, что смог добиться- это показывается текст, а литовские буквы с галочками и точками просто пропущены . Текст в юникоде приаттачен.

gashhik
27.04.2004, 13:13
Короче была схожая проблема - залез на форум спросить, а тут как-раз эту тему мусолят....
System.useCodepage = true; это строчка которая решила все мои проблемы...

FoRon
10.08.2004, 18:34
Оригинал написал(а) Nox Noctis
для статических все происходит само собой.
а для динамических надо включить шрифт в свфку,
— если ты хочешь чтобы на компе клиента он выглядел именно так как у тебя,
— если ты хочешь применять к динамическому тексту какие-либо эффекты, вращать его, ставить под маску и т п...

http://slaindream.dyp.spb.ru/encoding/include_font_outlines.gif

Все хорошо, пока не начинаешь пользовать кирилические шрифты. Результат кирилических символов вообще не остается после публикации, даже при установленой галке олл керикте. Дополнительное перечисление всех кириличиских символов в поле енд зис кериктерс ситуевину не спасает. Что делать ума не приложу, где руки ровнять? :)

Dindin
10.08.2004, 18:40
http://www.hitv.ru/res/docs/fl.gif

FoRon
10.08.2004, 19:03
:confused: Доцент тупой. С меня пиво, куда нести :)

Dindin
11.08.2004, 15:40
Далековато нести придётся =)

rofe
31.08.2004, 04:24
ура да здравствуит члб что делться с нам сирими , замученными толгими расказами ни о чем "умниками" да задраствуют практики которые внятно все могут объяснить без тонких намеков на толстые обстоятильства... Еще раз огромное спасибо Nox Noctis , все работттт!!!! Гип гип Ур-а-а-а.

kvadra
16.09.2004, 16:50
Оригинал написал(а) rofe
ура да здравствуит члб что делться с нам сирими , замученными толгими расказами ни о чем "умниками" да задраствуют практики которые внятно все могут объяснить без тонких намеков на толстые обстоятильства... Еще раз огромное спасибо Nox Noctis , все работттт!!!! Гип гип Ур-а-а-а.

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

Маленькая тля
13.08.2007, 17:37
А у меня не работает пример "encoding.zip " русский текст у меня не отображается...