![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2009
Сообщений: 108
|
Флешка отправляет с помощью sendAndLoad запрос на сервер, и в ответе должна получать переменные
request.sendAndLoad ("script.php", answer, 'POST') answer.onData = function (vars) { if (vars == null) {...} else{ _root.data = vars } } , и т.о. переменая vars содержит 1 строку. Как нужно отправлять данные во флеш, чтобы иметь во флешке vars.var1, vars.var2...., т.е. уже готовые переменные со значениями. Например, нужно отправить массив во флешку. Как сделать, чтобы массив был принят во флешке именно как массив? |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Чтобы были готовые переменные используйте обработчик onLoad.
url-переменные строковые. Придется написать или найти код для парсинга строки в массив. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 108
|
А отправлять данные, в частности, во флеш, можно только с помощью "echo"?
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
не знаю, возможно стоит спросить в соответствующем разделе..
Вот этим скриптом можно воспользоваться для получения массива из строки http://json.org/json.as |
|
|||||
|
Модрон-ветеринар
|
Ответ сервера формируйте так:
Его, например, можно формировать в цикле, приращивая значение строковой переменной:
Получившуюся строку разбирайте в методе onLoad и загоняйте в массив: var ans:Array = new Array(); answer.onLoad = function (success:Boolean) { if (success) { for (i = 1; i <= this.total; i++) ans[i] = this['var' + i]; } } } Последний раз редактировалось mooncar; 14.12.2009 в 20:20. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 108
|
Вопрос по кодировке русского текста при передаче flash <> php <> база данных
Флешка отправляет содержимое текстового поля (русские буквы) скрипту, тот пишет в базу. Чтение просиходит в обратной последовательности. В этом случае в базе отображается билеберда. Если в скрипте делать преобразование кодировки и сделать запись в базу, то при просмотре в редакторе базы все отображается нормально. Флешке при этом отправляется обратно-преобразованная в utf-8 последовательность. С чем связано такое преобразование кодировки, и правильно ли я использую это преобразование? Хочется знать, как это обычно у людей делается) |
|
|||||
|
Модрон-ветеринар
|
Не забывайте еще про одно звено, которое может оказать воздействие на всю цепочку приема-передачи строки - кодировка самого поля БД.
|
|
|||||
|
Регистрация: Feb 2009
Сообщений: 108
|
Об этом я думал, только не знаю, где и как можно менять кодировку полей базы.
Но тогда возникает вопрос, какую обычно используют кодировку полей базы?... Ведь если прередаем html\php <> база , то никаких перекодирований не надо. Флеш же использует utf-8 (??). |
|
|||||
|
Модрон-ветеринар
|
Ответ на первый вопрос -
Кодировка задается при создании самой базы или таблицы. См. тут. Если использовать для создания phpMyAdmin, то там менять или создавать таблицы достаточно просто. Если нужно для поля поменять, то примерно так: ALTER TABLE `tablename` CHANGE `tel` `tel` VARCHAR( 256 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL Не думаю, что делал это правильно, так как у меня и кириллица принудительно в тех флеш-проектах еще задавалась через System.useCodepage. То есть я рецептов здесь не даю, а всего лишь хотел обратить внимание на это звено, чтобы вы его не упустили в своих умозаключениях и при разработке. Цитата:
И еще. Эту тему здесь не нужно обсуждать, если что, вопрос у автора другой был. В разделе "Серверные технологии и Flash" нужно. Последний раз редактировалось mooncar; 18.12.2009 в 20:11. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 108
|
собссно я и есть автор, ...если что
![]() Да, проблема решилась - сменил редактор базы, все стало нормально (есть корректная поддержка UTF-8) Последний раз редактировалось MaskiShow; 18.12.2009 в 20:31. |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:54. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|