Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.08.2007, 11:53
Cepreu4 вне форума Посмотреть профиль Отправить личное сообщение для Cepreu4 Найти все сообщения от Cepreu4
  № 1  
Ответить с цитированием
Cepreu4

Регистрация: Nov 2006
Сообщений: 43
По умолчанию Автоматический unescape

Здравствуйте.
Проблема мелкая, но весьма неприятная.
Написал я генератор html страниц для каталога в небольшом интернет магазине. У каждого наименования есть кнопка "Заказать", которая отправляет скрипту данные методом GET. ну примерно так ../order.php?name=Lara%20Croft%32%20Tomb%20Raider&
При добавлении новых наименований через flash'форму всё добавляется как надо, и ВСЕ наименования (в т.ч. которые были добавлены раньше, в предыдущий сеанс) заново переписываются в общий html массив. А вот при чтении этого массива в следующем сеансе работы с каталогом flash автоматически unescap'ит шестнадцатиричные символы и при сохранении каталога записывает в общий массив адреса уже в обычном виде, т.е. ../order.php?name=Lara Croft: Tomb Raider& Что может явится проблемой при передачи данных, методом GET. Про символы кириллицы я уж вообще молчу. Можно ли как нибудь побороть автоматический unescape восьмого флэша??? (в 2004 mx'е я такого косяка не заметил)

Старый 19.08.2007, 17:39
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Проблема существует или вы предполагаете её возможное наличие?

Старый 19.08.2007, 21:58
Cepreu4 вне форума Посмотреть профиль Отправить личное сообщение для Cepreu4 Найти все сообщения от Cepreu4
  № 3  
Ответить с цитированием
Cepreu4

Регистрация: Nov 2006
Сообщений: 43
Проблема существует точно. с помощью трэйса я проверил, что массив содержащий шестнадцатиричные символы приходит во флэш декодированным. Вполне возможно что сие действие является результатом приминения комманды System.useCodepage = true; но парадокс в том, что БЕЗ этой команды флэш вообще отсылает скрипту вместо кириллицы непойми чего.

Старый 19.08.2007, 22:07
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Эта строка виновата, но не в декодировании escape-а. Флеш работает с utf-8 (то самое «непойми чего»), но недобросовестный разработчик, посчитав, что в мире бывают только компьютеры с системой Windows, у которых по умолчанию в системе кириллическая кодировка, решил использовать эту строчку, дабы флеш принимал посылал данные скрипту в «правильной» кодировке. А должен был сделать перекодировку входящей utf-8 строки в win-1251 строку и последующим escape-ом.
А изначально надо было вообще отказаться от win-кодировки.

Старый 20.08.2007, 05:54
Cepreu4 вне форума Посмотреть профиль Отправить личное сообщение для Cepreu4 Найти все сообщения от Cepreu4
  № 5  
Ответить с цитированием
Cepreu4

Регистрация: Nov 2006
Сообщений: 43
Так как проблему то решить?

Старый 20.08.2007, 09:56
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Переделать. Отказаться от GET в пользу POST, убрать useCodepage и использовать тотально utf-8.
Головной боли точно будет меньше.

Старый 20.08.2007, 19:24
Cepreu4 вне форума Посмотреть профиль Отправить личное сообщение для Cepreu4 Найти все сообщения от Cepreu4
  № 7  
Ответить с цитированием
Cepreu4

Регистрация: Nov 2006
Сообщений: 43
Так я UTF-8 и использую Флэш ведь только с ней и работает. Если убрать useCodepage, флэш (именно флэш) отсылает скрипту каракули вместо кириллицы
От GET'а я отказатся немогу, я же написал - генератор html страниц
Вообщем чувствую что придется после чтения переменный во флэш искать подстроку в каждом элементе отпарсеного массива с помощью for i , ескейпить её и переписывать весь массив... уффф

Старый 20.08.2007, 19:32
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Cepreu4
Так я UTF-8 и использую Флэш ведь только с ней и работает. Если убрать useCodepage, флэш (именно флэш) отсылает скрипту каракули вместо кириллицы
Вы сами себе противоречите.

Старый 20.08.2007, 22:35
Cepreu4 вне форума Посмотреть профиль Отправить личное сообщение для Cepreu4 Найти все сообщения от Cepreu4
  № 9  
Ответить с цитированием
Cepreu4

Регистрация: Nov 2006
Сообщений: 43
Каким образом? Помоему всё правильно

Старый 20.08.2007, 22:54
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Неправильно. Использование useCodepage говорит о том, что вы пытаетесь использовать кодировку системы, а не utf-8.

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:13.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.