Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Много языков в одном текстовом поле (http://www.flasher.ru/forum/showthread.php?t=136626)

Elser 21.02.2010 18:03

Много языков в одном текстовом поле
 
На Stage лежит 2 TextField:
слева - internalText - поле, в которое текст вставлен непосредственно в IDE // Причем ! символы в этом поле НЕ внедрены ! (и оно не юзает внедрённый шрифт)
справа - testText - поле, в которое текст грузится из базы // А сюда внедрены все глифы (вариант без внедрения как и с использованием встроенного шрифта дает тотже результат)
вот так это смотрится

кодировка в базе - utf8_general_ci

db.php
Код:

<?php
mysql_connect('localhost', 'login', '********') or die("error");
mysql_select_db('diamond') or die("select error");
mysql_query("SET NAMES utf8");
?>

tst.php - просто проверка вывода
Код:

<?php
include 'db.php';
$req = mysql_query("SELECT * FROM languages");
while($languages = mysql_fetch_assoc($req)){
        echo $languages["localname"]."<br/>";
}
?>

amfphp сервис
Код:

class ContentService {
       
        public function ContentService() {
                include 'db.php';
        }

        public function getLanguages(){
                $req = mysql_query("SELECT * FROM languages");
                $res = array();
                while($languages = mysql_fetch_assoc($req)){
                        $res[] = $languages;
                }
                return $res;
        }
}

ну и родимый ас (не пинайтесь что код в кадре - это просто тест - оригинал это PureMVC Proxy)
Код AS3:

import flash.net.NetConnection;
import flash.net.Responder;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.NetStatusEvent;
import flash.events.IOErrorEvent;
import flash.external.ExternalInterface;
import fl.controls.UIScrollBar;
 
var connectionTimeout:uint = 7000;
var serviceGateWay:String = 'ну тут типа понятно - url к gateway.php';
var timer:Timer;
var netConnection:NetConnection;
var testSB:UIScrollBar;
 
netConnection = new NetConnection();
var responder = new Responder(handler,faultHandler);
timer = new Timer(connectionTimeout,1);
timer.addEventListener(TimerEvent.TIMER, errorHandler );
netConnection.connect( serviceGateWay );
netConnection.addEventListener(NetStatusEvent.NET_STATUS, statusHandler);
netConnection.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
netConnection.call("ContentService.getLanguages",responder);
timer.start();
 
function handler( sres:* ):void {
        timer.stop();
        timer.removeEventListener( TimerEvent.TIMER, errorHandler );
        for(var i in sres){
                testText.appendText(sres[i].localname + "\n");
        }
        testSB.update(); // testText скроллбарина
}
 
function statusHandler( event:NetStatusEvent ):void {
        switch (event.info.code) {
                case 'NetConnection.Connect.Closed' :
                        trace('Info: Connection successful closed');
                        break;
                case 'NetConnection.Connect.Success' :
                        trace('Info: Successful connected to the service');
                        break;
                case 'NetConnection.Connect.Rejected' :
                        trace(': Your do not have permission to access this service');
                        break;
                case 'NetConnection.Call.Failed' :
                        trace(': Failed to connect to the service ');
                        break;
                case 'NetConnection.Call.Prohibited' :
                        trace(': The service access deny or do not trusted domain calling');
                        break;
        }
        timer.stop();
        timer.removeEventListener( TimerEvent.TIMER, errorHandler );
}
 
function faultHandler( serviceError:* ):void {
        timer.stop();
        timer.removeEventListener( TimerEvent.TIMER, errorHandler );
        netConnection.close();
        trace(': Server connection fault!');
}
 
function errorHandler( timerError:* ):void {
        netConnection.close();
        trace(': Server connection error!');
}
 
function ioErrorHandler( error:* ):void {
        netConnection.close();
        trace(': Server connection input/output error!');
}

подскажите пожалуйста, как сделать так, чтобы во втором поле было все также пушисто как и в первом?

Добавлено через 27 часов 40 минут
УРАААА!!! )) Заработало ))
пофиксил так:
лезем в amfphp/gateway.php
Код:

//находим   
$gateway->setCharsetHandler("utf8_decode", "ISO-8859-1", "ISO-8859-1");
//правим на
$gateway->setCharsetHandler("utf8_decode", "UTF-8", "UTF-8");

и получаем все языки в одном поле )))


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

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