Просмотр полной версии : [mx] Загрузка из .txt
Взял свой пятерочный скрипт и сунул его в MX.В скрипте есть загрузка текстового фаила.Перевел энтот фаил в unicode и...ничего!!!ЧТО?КАК?Кто уже сталкивался,подскажите!!!
Max N Chubin_
15.04.2002, 14:46
в чем проблема то?
все жужжит пучком и в 5ке и в 6ке то же самое..
файл то какой?
v=bla bla bla&v1=bla1 bla1 bla1
или обычный текст?
как грузишь?
дык вот кусок:
skod0=33522&sname0=Спальня «Омега»&sprice01=17940&sprice02=0&sprice03=0&skod1=63363&sname1=Спальня «Омега- 1 »&
правда расширение на фаиле у меня не .txt,но я думаю из-за этого не может быть глюка,т.к. в пятерке все пучком было :confused:
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 не прицепить...
ну хрен с вами.
у вас в unicod'е, а у меня в ansi.
я пробовал на php считывать из unicod'ного txt и он виснет,
так что ничего типа рускоязычной гостевой книги сделать не получится.
...может и можно как то, но функций для unicod'а в php нет.
--
Stellerex
17.04.2002, 19:16
А ты не геморись и отправляй не в уникоде, а в своем любимом ANSI. Только перед отправкой поэскейпь, а после приема, соответственно не забудь разэскейпить.
И все у тебя получится :)
Есть возмжность отключить работу с полученными данными как юникод,
и включить режим Flash 5 в MX,
System.useCodepage = true;
http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary798.html
думаю это для крайних случаев, юникод всетаки лучшее...
особо не тестил, так что будет интересен результат.
дело в том, что поэскейпить для флеша стандартной функции в php нету. обычный urlencode(); не прокатит.
и ещё
поэскейпаный текст, когда на флеш приходит, сам разэскейпивается.
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;
работает на УРА!
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, который нужно разэскейпить, а потом распарсить. Работает везде.
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 (английская, сша)
видим что получилось.
зачем ставить System.useCodepage=false, если по умолчанию там так стоит? Важно для меня : я не ставил, может поэтому не читается? Но ведь в мануалах прописано что по умолчанию стоит FALSE?
Пример хороший. Про кодовую страницу важно по-моему при перекодировке. Читал тоже, но не разжевал :).
Спасибо!
Nox Noctis
30.01.2004, 13:27
Оригинал написал(а) Gary
зачем ставить System.useCodepage=false;исключительно для того чтобы подчеркнуть. что этот флажок включать НЕ НАДО :) это же учебный пример...
и вообще, не грех напомнить себе в коде о настройках, которые имеют принципиальное значение, но и так устанавливаются по умолчанию правильно...
по просьбе трудящихся - тут исходни в формате МХ (тот что выше - МХ2004)
Объясните, пожалуйста, а как загрузить символы немецких букв (например, "ä" или "à") в динамическое текстовое поле?
Я пробовала ставить
system.useCodepage = true;
или так
system.useCodepage = 1250;
шрифт для текстового поля пробовала разный. Сейчас стоит "Arial CE"
Текстовое поле подгружает текст как HTML
Все равно символы выводятся как квадратики или палочки:-(
Я имела в виду символы такого вида
ä
à
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
по поводу проблем с конвертацией см. выше.
БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!! :) :) :) Перевела в unicod и все получилось! Забавно, что текст нормально отображается только с кириллическими шрифтами (Arial Cyr и т.д.). А ведь у немцев его не будет. Что они-то увидят?
А, нет, извините, просто _sans тоже сработал!
Nox Noctis
30.01.2004, 15:13
Оригинал написал(а) Spany
текст нормально отображается только с кириллическими шрифтами (Arial Cyr и т.д.). А ведь у немцев его не будет. Что они-то увидят? когда ты используешь шрифт во флэше - у тебя всегда есть взможно включить его в свф, и будет абсолютно не важно есть ли такой шрифт у клиента.
А для динамических полей это тоже актуально? Я просто читала, что вроде это только для статических...
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 для полных шрифтов, типа Ариала)
System.capabilities.language = 'ru' устанавить не нужно?
Nox Noctis
07.03.2004, 14:33
ээ... вообще-то все свойства объекта System.capabilities -
это сведения о системе, в которой проигрывается флэш.. :)
нет никакого смысла там что-то устанавливать...
или я отстал от жизни ? :)
Ну я конечно не знаю, но вот у моего друга на машине без этой строчки одни вопросики что в trace что в текстовые поля рисуются.
Я тут зашел с вопросом по поводу .load(), но нашел все ответы в вашем обсуждении. Отдельное спасибо за простое объяснение system.useCodepage :p
:rolleyes: НЕ ПОРА ЛИ ДОПОЛНИТЬ FAQ?
Никак не получается вставить литовский текст со всякими там точками и закорючками на буквами, максимальное, что смог добиться- это показывается текст, а литовские буквы с галочками и точками просто пропущены . Текст в юникоде приаттачен.
Короче была схожая проблема - залез на форум спросить, а тут как-раз эту тему мусолят....
System.useCodepage = true; это строчка которая решила все мои проблемы...
Оригинал написал(а) Nox Noctis
для статических все происходит само собой.
а для динамических надо включить шрифт в свфку,
— если ты хочешь чтобы на компе клиента он выглядел именно так как у тебя,
— если ты хочешь применять к динамическому тексту какие-либо эффекты, вращать его, ставить под маску и т п...
http://slaindream.dyp.spb.ru/encoding/include_font_outlines.gif
Все хорошо, пока не начинаешь пользовать кирилические шрифты. Результат кирилических символов вообще не остается после публикации, даже при установленой галке олл керикте. Дополнительное перечисление всех кириличиских символов в поле енд зис кериктерс ситуевину не спасает. Что делать ума не приложу, где руки ровнять? :)
http://www.hitv.ru/res/docs/fl.gif
:confused: Доцент тупой. С меня пиво, куда нести :)
Далековато нести придётся =)
ура да здравствуит члб что делться с нам сирими , замученными толгими расказами ни о чем "умниками" да задраствуют практики которые внятно все могут объяснить без тонких намеков на толстые обстоятильства... Еще раз огромное спасибо Nox Noctis , все работттт!!!! Гип гип Ур-а-а-а.
Оригинал написал(а) rofe
ура да здравствуит члб что делться с нам сирими , замученными толгими расказами ни о чем "умниками" да задраствуют практики которые внятно все могут объяснить без тонких намеков на толстые обстоятильства... Еще раз огромное спасибо Nox Noctis , все работттт!!!! Гип гип Ур-а-а-а.
а картинка с наполеоном вышла испод руки моего соседа по рабочему столу, я ему показал - ему было очень приятно )
Маленькая тля
13.08.2007, 17:37
А у меня не работает пример "encoding.zip " русский текст у меня не отображается...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.