![]() |
flash + unicode
Помогите с загрузкой переменных в unicode из файла. В файле у меня набрано
var1=100&var2=новая (ТУТ ТЕКСТ НАПИСАН В UNICODE) Но у unicode символы начинаются с & - что является разделителем переменной в текстовом файле. должно быть чтото типа var1=100 var2=новая Но ведь символ & Является разделителем между переменными, и unicode не считывается, потому , что он думает , что там просто следующие переменные... Что делать ...???? Причем, эти переменные нужно загрузить только из текстового файла. |
Пиши спокойно -
var1=100&var2=новая а затем весь файл сохраняй в Уникоде... |
может проще будет устроить замену & на допустим $, в текстовом файле, а при считывании переводить обратно?
|
проблема в том , что переменные генерятся php скриптом , и выходит чтото типа
<? echo "var1=100&"; echo "var2=&****&"; echo "var3=her"; ?> **** - это код unicode И получается , что var2 определяется как undefined из-за того, что флеш думает, что после знака = идет название следующей переменной |
А как такое организовать, чтобы Flash еще и правильно схавал переменную
|
Вместо & строке пиши %26
Пример: q=123&w=%26456&e=789 |
а вот и не хавает такое флеш :/
|
ты ошибаешься. данная комбинация работает.
|
покажи пример пжалста...
потому что я меня не работает... флеш получает у себя -- не чистый уникод, а просто его символьное представление -- %26№226 он выводит потом в формее как 226 :/ |
Вложений: 1
вот...
|
Проблема в том, что флеш просто показывает символ &456, а он должен этот символ перевести в значение unicode символа.
|
Тогда тебе надо Unecode символы в файле сохранять не с &, а с \u
Пример: \u1234 |
Я наверное уже достал.
Мой php скрипт уже генерирует такой ответ. id1=36&name1=\u1085;\u1086;\u1074;\u1086;\u1089;\u1090;\u1080;&soob1=Y но такой юникод -- не хочет распознаваться. |
А попробуйте перед кодом написать
Код:
System.useCodepage = false; |
а можно рабочий пример, а то я в упор не могу его заставить сделать перекодировку... правильно.
|
Не поможет... :(
Логика тут такая: В файле есть переменная var1=\u0001, она грузится и значение переменной становится строкой. Это значит что ее вид будет не "\u0001", а "\\u0001". Вот она проблема, нам нужен символ, а у нас есть строка. Попробуйте написать и запустить (в mx попытка запустить автоформатирование вешало программу, mx 2004 выжил, а все потому что mx пытается отобразить символ для этого кода, а 2004 нет. если напишите trace ("\u0167"), то после форматирования mx выдаст "t"): Код:
trace ("\u0001");В свое время мне надо было строку "\\nнекий текст\\nнекий текст\\nнекий текст" преобразовать в "\nнекий текст\nнекий текст\nнекий текст". Это удалось благодаря замене "\\n" на "\n". Тут же это не проходит. |
Вариант ... третий уже :)
В файле unicode пишем в виде: Код:
q=0x0064,0x0186,0x1074,0x1086,0x1089,0x1090,0x1080Код:
r = q.split (","); |
Вложений: 1
Вот пример , на твое предложение, в trace выдает
undefined и квадраты. |
1. undefined потому что ты публикуешь под 7-ой флеш, а я под 6-ой. Поэтому тебе надо добавить вначале a="";
2. Квадраты потому, что вид 0xZZZZ предназначен для 16-ричной системы написания. Если ты используешь десятичную, то убери везде 0x, пиши просто ZZZZ. |
большое спасиба.
весьма признателен вам всем за помощь... этот топ обязательно нужно вписать в список факовых топиков. |
я надеюсь, что все же существует более короткое решение, а не через массив и цикл.
|
| Часовой пояс GMT +4, время: 16:15. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.