Я пытаюсь использовать POST во Flash (ActionScript 2), чтобы передать значения POST в почтовый скрипт PHP.
Я попробовал почтовый скрипт PHP с HTML-формой, и он отлично работал.
Но когда я POST из флэш-памяти и ввода не английских символов, я получаю «????» по почте.
Я пытался utf8_encode($_POST["name"])
, но это не помогает.
Edit:
Я также пытался utf8_decode($_POST["name"])
, это не сработало.
Обновление: (Таким образом, вам не нужно просматривать все комментарии)
- Я проверил переменные во Flash,
значения сохранены правильно.
- HTML-страница, на которой встроен Flash, имеет кодировку UTF-8.
- Я смотрел POST-заголовки с FireBug, сам POST уже испорчен, показывая «????» вместо реальной стоимости.
- Запутанное "????" значение, в настоящее время URL-кодируется flash и декодируется PHP, в результате чего
$_POST["name"] == "???";
Я подозреваю, что метод sendAndLoad
создает беспорядок.
Обновление:
Вот код вспышки:
System.useCodepage = true;
send_btn.onRelease = function() {
my_vars = new LoadVars();
my_vars.email = email_box.text;
my_vars.name = name_box.text;
my_vars.family_box = comment.text;
my_vars.phone = phone_box.text;
if (my_vars.email != "" and my_vars.name != "") {
my_vars.sendAndLoad("http://aram.co.il/ido/sendMail.php", my_vars, "POST");
gotoAndStop(2);
} else {
error_clip.gotoAndPlay(2);
}
my_vars.onLoad = function() {
gotoAndStop(3);
};
};
email_box.onSetFocus = name_box.onSetFocus=message_box.onSetFocus=function () {
if (error_clip._currentframe != 1) {
error_clip.gotoAndPlay(6);
}
};