![]() |
|
||||||||||
|
|||||
|
[+1 13.12.06]
Регистрация: Nov 2006
Сообщений: 43
|
Здравствуйте.
Проблема мелкая, но весьма неприятная. Написал я генератор 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'е я такого косяка не заметил) |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Проблема существует или вы предполагаете её возможное наличие?
|
|
|||||
|
[+1 13.12.06]
Регистрация: Nov 2006
Сообщений: 43
|
Проблема существует точно. с помощью трэйса я проверил, что массив содержащий шестнадцатиричные символы приходит во флэш декодированным. Вполне возможно что сие действие является результатом приминения комманды System.useCodepage = true; но парадокс в том, что БЕЗ этой команды флэш вообще отсылает скрипту вместо кириллицы непойми чего.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Эта строка виновата, но не в декодировании escape-а. Флеш работает с utf-8 (то самое «непойми чего»), но недобросовестный разработчик, посчитав, что в мире бывают только компьютеры с системой Windows, у которых по умолчанию в системе кириллическая кодировка, решил использовать эту строчку, дабы флеш принимал посылал данные скрипту в «правильной» кодировке. А должен был сделать перекодировку входящей utf-8 строки в win-1251 строку и последующим escape-ом.
А изначально надо было вообще отказаться от win-кодировки. |
|
|||||
|
[+1 13.12.06]
Регистрация: Nov 2006
Сообщений: 43
|
Так как проблему то решить?
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Переделать. Отказаться от GET в пользу POST, убрать useCodepage и использовать тотально utf-8.
Головной боли точно будет меньше. |
|
|||||
|
[+1 13.12.06]
Регистрация: Nov 2006
Сообщений: 43
|
Так я UTF-8 и использую
Флэш ведь только с ней и работает. Если убрать useCodepage, флэш (именно флэш) отсылает скрипту каракули вместо кириллицыОт GET'а я отказатся немогу, я же написал - генератор html страниц Вообщем чувствую что придется после чтения переменный во флэш искать подстроку в каждом элементе отпарсеного массива с помощью for i , ескейпить её и переписывать весь массив... уффф |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
[+1 13.12.06]
Регистрация: Nov 2006
Сообщений: 43
|
Каким образом? Помоему всё правильно
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Неправильно. Использование useCodepage говорит о том, что вы пытаетесь использовать кодировку системы, а не utf-8.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:43. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|