PDA

Просмотр полной версии : Передача русских символов из Flash


dimanjy
08.05.2008, 16:30
Уважаемые профи, столкнулся с непонятной проблемой:

Есть поле ввода поискового запроса. Этот запрос передается на сервер через URLRequest в параметр $_GET['q'] php-скрипта. Все у всех отлично работает, но у одного пользователя хоть убей - не передаются русские буквы. Латинские передаются, а русские - нет. Дал пользователю уникальный код, чтобы тот ввел в запросе и я отследил его в логах сервера. Получилось что-то вроде:

"/get.php?q=%20987654321" 200 ...
"/get.php?q=Zapros%20Latinskimi%20987654321" 200 ...

Браузер у него - Эксплорер 7.

В какую сторону думать, подскажите?

dmx102
08.05.2008, 16:55
Для того "неродивого" пользователя:
будучи в InternetExplorer'е заходим в главное меню: Сервис->Свойства обозревателя->Дополнительно->Всегда отправлять URL-адреса как UTF-8.

Для тебя(как разработчика):
Не нужно расчитывать на грамотность пользователя и исключить подобные дырки.
Для этого тебе нужно конвертировать текст поля в формат UTF-8 вида: %HH, где HH - HEX значение символа по таблице UTF-8.
Такую функцию во Flash ищи сам.

dimanjy
09.05.2008, 01:31
Спасибо, dmx102. Воспользовался Вашим советом и причесал все запросы под UTF-8.
Правда, что с тем пользователем, пока не известно. Но, думаю, тоже ситуация исправится.

iNils
09.05.2008, 02:04
Для гета, строку сначала надо обработать
escape (строка)

dimanjy
11.05.2008, 14:55
В моем случае - escapeMultiByte()

Теперь у всех все работает! Спасибо!