Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   URLLoader+PHP+MySQL, проблема с кодировками (http://www.flasher.ru/forum/showthread.php?t=141489)

AntonSurkont 26.06.2010 03:28

URLLoader+PHP+MySQL, проблема с кодировками
 
Здравствуйте уважаемые.
Я передаю данные из флэша PHP-файлу так:
Код AS3:

var load_register:URLLoader=new URLLoader();
 
var dsf:URLRequest=new URLRequest("http://localhost/portfoliosite/register.php?action=2"+
                                        "&surname="+textinput_surname+
                                        "&login="+textinput_login+
                                        "&password="+textinput_password+
                                        "&ava="+textinput_ava);
load_register.load(dsf);

Затем я эти переменные (action, surname, login, password, ava) достаю из глобального массива $_GET в PHP и работаю с MySQL-ем.
В начале PHP файла для того чтобы не было проблем с кодировками написан следующий код:
PHP код:

header('Content-Type:text/html;charset=utf-8');
@
mysql_query ("SET character_set_client='utf8'");
@
mysql_query ("SET character_set_results='utf8'");
@
mysql_query ("SET collation_connection='utf8_deneral_ci'");    
@
mysql_query("SET NAMES utf8"); 

Проблема заключается в том что если во флэше в переменные textinput_surname, textinput_login, textinput_password, textinput_ava положить русский текст, то флэш передает PHP-файлу кракозябры.

Если просто открыть браузер и в адресную строку забить строку например такую:
Код:

http://localhost/portfoliosite/register.php?action=2&surname=Сидоров&login=Смайл&password=123&ava=smle.jpg
, то все нормально. Значит стало быть дело именно в том что во флэше что то ни так с кодировкой. Я пользуюсь FlashBuilder-ом, там кодировка utf8.
Помогите плиз я уже с ног сбился искать в чем проблема.

dimarik 26.06.2010 03:33

Цитата:

Значит стало быть дело именно в том что во флэше что то ни так с кодировкой.
Где Вы научились индуктивному методу?

Научите лучше вашу пыху понимать utf-8.

alatar 26.06.2010 14:40

Цитата:

Значит стало быть дело именно в том что во флэше что то ни так с кодировкой.
А в базе данных у вас, стало быть, все в порядке?

AntonSurkont 26.06.2010 18:55

Цитата:

Научите лучше вашу пыху понимать utf-8.
Подскажите плиз как.

Цитата:

А в базе данных у вас, стало быть, все в порядке?
В БД все нормально.

Добавлено через 4 часа 26 минут
Помог код
PHP код:

// Вывод заголовка с данными о кодировке страницы
header('Content-Type: text/html; charset=windows-1251');
// Настройка локали
setlocale(LC_ALL'ru_RU.CP1251''rus_RUS.CP1251''Russian_Russia.1251''russian');
// Настройка подключения к базе данных
mysql_query('SET names "cp1251"'); 

в PHP файле

dimarik 27.06.2010 18:17

Во флешке, вероятно, стоит System.useCodePage = true;

AntonSurkont 27.06.2010 19:31

Всем спасибо за помощь

dimarik 27.06.2010 19:51

Капитан, расскажите, в чем был затык )

AntonSurkont 27.06.2010 20:02

Честно говоря я сам толком не разобрался. Я убрал из PHP-файла код:
PHP код:

header('Content-Type:text/html;charset=utf-8'); 
@
mysql_query ("SET character_set_client='utf8'"); 
@
mysql_query ("SET character_set_results='utf8'"); 
@
mysql_query ("SET collation_connection='utf8_deneral_ci'");     
@
mysql_query("SET NAMES utf8"); 

и вставил код:
PHP код:

// Вывод заголовка с данными о кодировке страницы
header('Content-Type: text/html; charset=windows-1251');
// Настройка локали
setlocale(LC_ALL'ru_RU.CP1251''rus_RUS.CP1251''Russian_Russia.1251''russian');
// Настройка подключения к базе данных
mysql_query('SET names "cp1251"'); 

и все заработало

dimarik 27.06.2010 20:24

Ясно. Значит, что не Вы автор флешки.


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

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