Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Кирилица в Flash + PHP + MySQL (http://www.flasher.ru/forum/showthread.php?t=80855)

Madzsar 07.06.2006 14:53

Кирилица в Flash + PHP + MySQL
 
Добрый всем день!
Я у вас новый и с вопросом-

1.Есть элементарная база данных- user_id, user_name (допустим)
2.Есть элементарный flash.
3.Есть рнр с connect к базе данных итд.
4.В этом рнр находится и сам swf

И вот вопрос- в рнр я ставлю скриптик-
Код:

print"<SCRIPT LANGUAGE=JavaScript>
function User(){
        document.USER.SetVariable(\"User\",\"$User\");
        document.USER.SetVariable(\"UserName\",\"$UserName\");
}
</SCRIPT></HEAD>
<BODY onLoad=\"User()\">";

И задаю параметр в флеше- ............
/flash/swflash.cab#version=5,0,0,0\" ID=USER WIDTH=100% ...... итд.

В самом флеше - loadVariablesNum ("index.php?user=" add User add "&", 0);
Ну и соответственно Dynamic text- под именем UserName

Открыв мой.рнр?user_id=32 (допустим) естественно появляется в флеше UserName и...................
вместо кирилицы- знаки вопроса, причём латынь- всё ОК.
Бьюсь с этим и нет выхода. Может кто подскажет, поможет...
Заранее благодарен.

PS да, даже вывел print"$UserName"; над флешем, всё нормально пишет русск буквами, а вот во флеше- не хочет.

Madasan 07.06.2006 17:33

В базу писать в кодировке UTF-8! Или перекодировать на лету с помощью php.

x2com 08.06.2006 03:53

Если не ошибаюсь можно ещё попробовать в начале флэшки написать System.useCodepage = true; , должно сработать. Но это на крайняк, а так лучше воспользуися советом Madasan'а.

Madzsar 08.06.2006 15:44

2 x2com-
Спасибо за совет. Пробовал, не помогает...

2 Madasan-
Можно чуть разжевать- что имеете ввиду "на лету"?

Кстати, немного "облегчил" всю эту историю- в .рнр посто вывел текст типа &user=$User, и добавил-
<PARAM NAME=movie VALUE=\"http://my.swf?User=$User ......
Ну и в flash- loadVariablesNum ("MY.php?user=" add User add "&", 0);
T.text = User;
Очень всё заработало, но ........
Если даже и добился кирилица- ОК, появился другой глюк- не равотает "HTML", т.е если в тексте есть теги напр. <b> </b>- он их просто не видит...
Есть идеи?
Спасибо.

x2com 08.06.2006 15:57

2 Madzsar
Попробуй поискать здесь http://php.mysoft.ge/manual/ru/ информацию по перекодировке (mbstring и iconv). А вобще в яндексе много инфы на тему...
PS- можно ещё поискать пировский клас (http://pear.php.net/)
PPS- Мне ещё помнится, что MySQL может перекодировать.

Madzsar 08.06.2006 16:00

2 x2com
Спасибо за совет. Уже смотрю...

etc 08.06.2006 16:09

x2com, не надо учить плохому (useCodepage).

Madzsar, юзай функцию iconv при выводе данных, чтобы перекодировать в utf-8 (если с базой лень ковырятся).

Madzsar 08.06.2006 16:12

2 etc
Принял, спасибо.

x2com 08.06.2006 16:15

По поводу HTML тэгов,
Я, например, сбросил бы инфу в текст файл(ы) а потом прочитал бы их во флэшке.
Примерно так:
Код:

var ss = new TextField.StyleSheet();
ss.load("/css/style.css");
content.styleSheet = ss;
content.multiline = true;
content.html = true;
story = new XML();
story.ignoreWhite = true;
story.load("/html/cont.html");
story.onLoad = function() {
        content.htmlText = story;
}


Madzsar 08.06.2006 16:18

2 x2com
я тоже что-то подобное думал, только не придумал как.
Мне нравится эта идея...
Но если одновременно флеш смотрят несколько юзеров (каждый со своим ID)? как это заработает?


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

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