PDA

Просмотр полной версии : смена кодировки


heartless
21.04.2011, 01:09
Приложение общается с пхп скриптом, работающим на UTF-8.
Требуется переводить значения поля TextInput.text в UTF-8,
а потом принимать из скрипта UTF-8 и в поле кидать. Как быть?

Wolsh
21.04.2011, 02:00
Принимать и кидать.
Судьба-злодейка: флэш тоже работает именно с UTF-8.

heartless
21.04.2011, 11:24
c передачей из пхп в флешку разобрался - кидаю в утф8 и флешка обрабатывает норм.
Но при передаче флешка - пхп, пхп скрипт принимает именно в вин1251 и нужно перекодировать.
Хотелось бы без этой лишней операции на сервере обойтись.

Wolsh
21.04.2011, 12:49
Вы уж уточните тогда. "Скрипт принимает вин1251" – то есть:
НАДО
из флэшки отдать скрипту в кодировке win1251 а она отдает UTF-8,
ИЛИ
сейчас флэшка отдает вин1251, а скрипт ожидает UTF-8 ?
Вас слегка непонятно.

heartless
21.04.2011, 13:15
Скрипт должен принимать утф но получал вин1251.
Оказывается проблема немного глубже,
текстовое поле (с данными для последующей отправки скрипту) и так кодируются в утф.
Это уже дальше URLRequest или URLLoader кодируют строку урл с параметрами в win-1251, но нужно передавать именно в утф, чтоб скрипту лишний раз не перекодировать из win-1251 в утф
вот код


var loadr = new URLLoader(new URLRequest(servurl+'api.php?PHPSESSID='+sessid+'&method=chat.add&table='+rm+'&mess='+msg));

cleptoman
21.04.2011, 13:32
Это уже дальше URLRequest или URLLoader кодируют строку урл с параметрами в win-1251
если программер не приложил к этому руку, то не может этого быть..потому проверяйте серверную часть

ZZZubec
22.04.2011, 01:19
нет смысла мучать флеш в такой ситуации,
iconv в PHP решит все проблемы. Перекодирует что угодно во что угодно.

gloomyBrain
22.04.2011, 10:15
@heartless
Вы оправляете запрос методом GET. Соответственно, данные идут в url-кодированном виде (то есть это не замена win1251 и utf-8 между собой, а так называемый escape). То же самое происходит, если набрать ru.wikipedia.org/кодировка - Вы увидите, что все русские символы поменялись на абра-кадабру.
Варианты:
- посылать POST-запрос
- делать unescape на сервере