Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Кодировка Flex-PHP-MySQL (http://www.flasher.ru/forum/showthread.php?t=138801)

num213 16.04.2010 00:48

Кодировка Flex-PHP-MySQL
 
Здравствуйте, знаю что такие темы уже здесь были, но в них я ответа не нашел - может потому что мало в этом разбираюсь.

Ситуация такая - есть DataGrid в которой нужно просто отобразить строки из таблицы БД, управляемой через phpMyAdmin. Юзаю HTTPService.
И в phpMyAdmin для базы установлен utf8_unicode_ci и в mxml прописан encoding="utf-8", однако на выходе из кириллицы получаются иероглифы. Как мне заставить эту **** отображать нормально?

wvxvw 16.04.2010 03:30

А где вы его там в MXML прописали? Вам в PHP надо или конвертировать iconver'ом или если есть установленая библиотека mb_string сразу весь буфер перевести в мультибайт. Единственное что, либо я не понял как, либо это так по задумке авторов, DOMDocument в PHP упорно старается вместо юникодов их в HTML entities перевести, так что лучше использовать SimleXML если вы не просто строки формируете, а работаете с XML'ем.

num213 21.04.2010 01:42

<?xml version="1.0" encoding="utf-8"?> - хотя это я так понимаю относиться только к xml. Пытался разобраться с iconver'ом и найти mb_string - ни то, ни другое не получилось, видимо потому что с программированием на php мало знаком.
Однако, как всегда получилось всё сделать через заднее место - при добавление новой записи через запрос отправленный из flex'a в php, он почему-то возвращает в datagrid нормальные слова, но при этом в БД они отображаются в виде абракадабры))

wvxvw 21.04.2010 03:32

Ну эта запись в MXML вообще ни на что не влияет. Она просто для информации о том, в какой кодировке надо читать документ, но большинство програм ее просто игнорируют. А вообще кодировка MXML на работе програмы никак отразится не может, MXML это просто шаблон по которому генерится AS класс, а из него уже компилируется флешевый байткод. PHPMyAdmin просто скорее всего все выводит как ANSI.

kaibest 26.07.2010 23:08

у меня сейчас такая же проблема. строки в баке по русски, а в DataGrid стоят "???? ???????". я не понял, что сделал автор темы, что у него получилось видеть русский текст?

GregoryR 20.08.2010 09:56

Цитата:

Сообщение от kaibest (Сообщение 925146)
у меня сейчас такая же проблема. строки в баке по русски, а в DataGrid стоят "???? ???????". я не понял, что сделал автор темы, что у него получилось видеть русский текст?

Автор темы, так же как и я похоже забил на это, т.к. при отправке данных из flex приложения и потом прочтения их же в этом же flex приложении данные отображаются корректно.

Правда если заглянуть в mySQL базу через другие программы, там будет абракадабра.

Astraport 20.08.2010 11:45

PHP код:

$mysql mysql_connect(DATABASE_SERVERDATABASE_USERNAMEDATABASE_PASSWORD);
        
mysql_query("SET NAMES 'utf8';");
         
mysql_query("SET CHARACTER SET 'utf8';");
         
mysql_query("SET SESSION collation_connection = 'utf8_general_ci';");
        
mysql_select_db(DATABASE_NAME); 


GregoryR 20.08.2010 13:46

Цитата:

Сообщение от Astraport (Сообщение 930113)
PHP код:

$mysql mysql_connect(DATABASE_SERVERDATABASE_USERNAMEDATABASE_PASSWORD);
        
mysql_query("SET NAMES 'utf8';");
         
mysql_query("SET CHARACTER SET 'utf8';");
         
mysql_query("SET SESSION collation_connection = 'utf8_general_ci';");
        
mysql_select_db(DATABASE_NAME); 


А если используется не методы mysql, а mysqli, как в коде который предлагает нам встроенный генератор?

marceting 23.08.2010 01:17

Цитата:

Сообщение от GregoryR (Сообщение 930144)
А если используется не методы mysql, а mysqli, как в коде который предлагает нам встроенный генератор?

PHP код:

$mysqli mysqli_connect(путьDATABASE_USERNAMEDATABASE_PASSWORD);
        
mysqli_query("SET NAMES 'utf8';");
         
mysqli_query("SET CHARACTER SET 'utf8';");
         
mysqli_query("SET SESSION collation_connection = 'utf8_general_ci';");
        
mysqli_select_db(DATABASE_NAME); 

ЧТО ТУТ СЛОЖНОГО?

nOobCrafter 23.08.2010 16:44

если совсем "нитого с сервером" то можно попробовать конвертнуть кодировку во флеше, но лучше все же добить сервер.


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

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