Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vagner Nunes

Erro de Acentuação!

Recommended Posts

Prezados,

 

Estou com um banner sistema de banner fiz algumas modificações, porém, gostaria de saber se há como aparecer acentuações, na legenda do Banner, pois não aparece por nada. Se digitar Prática aparece prtica.

 

Este codigo ler o arquivo banners.xml, no arquivo tem acentuação, mas no flash não aparece

 

alguém poderia me ajudar?

 

Segue abaixo parte dos códigos:

 

Banner_MC

 

//Load from XML File

stop();
//Banner
var banners:Array = new Array();
//Image Path
var imagePaths:Array = new Array();
//Link URL
var links:Array = new Array();
//Body Text
var bodyTexts:Array = new Array();
//
var imageTime:Number;
//
var numberOfBanners:Number;
//
var isRandom:String;
//
var showHeader:String;
//
var bannersXML:XML = new XML();
bannersXML.ignoreWhite = true;
bannersXML.load("banners.xml");
bannersXML.onLoad = function(success) {
    if (success) {
        trace("XML LOADED");
        imageTime = parseInt(this.firstChild.firstChild.firstChild)*1000;
        numberOfBanners = parseInt(this.firstChild.childNodes[1].firstChild);
        isRandom = this.firstChild.attributes["isRandom"];
        showHeader = this.firstChild.childNodes[2].attributes["showHeader"];

        var bannerSequence:Array = new Array();
        if (isRandom == "true") {
            //Make a random sequence
            while (bannerSequence.length<numberOfBanners) {
                newRandomNumber = random(numberOfBanners);
                //Make sure that the random one chosen is not already chosen
                for (var i = 0; i<=bannerSequence.length; i++) {
                    if (newRandomNumber != bannerSequence[i]) {
                        alreadyThere = false;
                    } else {
                        alreadyThere = true;
                        break;
                    }
                }
                //Add only random values that aren't in the array
                if (!alreadyThere) {
                    bannerSequence.push(newRandomNumber);
                }
            }
        } else {
            for (var i = 0; i<numberOfBanners; i++) {
                bannerSequence.push(i);
            }
        }
    }

    //Read XML in the Random Order Chosen
    for (var i = 0; i<numberOfBanners; i++) {
        banners.push(this.firstChild.childNodes[2].childNodes[bannerSequence[i]].firstChild.firstChild.toString());
        bodyTexts.push(this.firstChild.childNodes[2].childNodes[bannerSequence[i]].childNodes[1].firstChild.nodeValue);
        imagePaths.push(this.firstChild.childNodes[2].childNodes[bannerSequence[i]].childNodes[2].firstChild.nodeValue);
        links.push(this.firstChild.childNodes[2].childNodes[bannerSequence[i]].childNodes[3].firstChild.nodeValue);
    }
    play();
};
//Start the image counter at 0</code>

<code>
stop();
//Check to see if the banner should be reset
if (imageCounter>=banners.length) {
    imageCounter = 0;
}
//Load banner image  
var imageLoader:MovieClipLoader = new MovieClipLoader();
imageLoader.loadClip("img/"+imagePaths[imageCounter],bannerContainer_mc);
var loadingListener:Object = new Object();
loadingListener.onLoadComplete = function() {
    play();
    //Display Header
    if (showHeader == "true") {
        imageText_mc.headerTxt.text = banners[imageCounter].toString();
    } else {
        imageText_mc.headerTxt.text = "";
        imageText_mc._alpha = 0;
    }
    //Button and Link Handling
    if (links[imageCounter] != null) {
        trace("LINK : "+links[imageCounter]);
        bannerContainer_mc.onRelease = function() {
            getURL(links[imageCounter], "_blank");
        };
    } else {
        delete bannerContainer_mc.onRelease;
    }
};
imageLoader.addListener(loadingListener);</code>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta colocar isso antes de tudo nas suas actions:

 

System.useCodepage = true;

 

Creio que resolva seu caso.

 

Abraços,

Léo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Inseriu antes da leitura do xml? E já verificou o xml, para ve se não ta errado la?

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o Character Embeding (painel properties).

 

Isso é comum para templates gerados em outro idioma/codificação.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo a Elektar esta correta!

 

No flash selecione o texto onde o acento não aparece clique em EMBED depois com a tecla CTRL pressionada selecione as opções: Uppercase, Lowercase, Nemerals, PUNCTUATION, Basic Latin!!

 

E no inicio do seu XML tem que estar assim:

<?xml version="1.0" encoding="ISO-8859-1" ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique se o html e o XML estão com codificação utf_8.

 

Use uma fonte comum, padrão do Windows, para testar.

 

 

 

Vou dar uma conferida nos meus arquivos.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

A fonte é arial, e o XML está da seguinte maneira:

 

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<rotator isRandom="false">
	<bannerTime>1</bannerTime>
	<numberOfBanners>2</numberOfBanners>
	<banners showHeader="true">
		<banner>
			<name>Administração</name>
			<body>Administração</body>
			<imagePath>01.jpg</imagePath>
			<link>http://www.teste.com</link>
		</banner>
		<banner>
			<name>Banner 2</name>
			<body>Banner 2</body>
			<imagePath>02.jpg</imagePath>
			<link>http://www.teste.com</link>
		</banner>
		
	</banners>
	</rotator>

Aguardo contato,

 

Sds,

 

Vagner Nunes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, acho que o problema ai está na falta do nodeValue, tente colocar assim:

 

banners.push(this.firstChild.childNodes[2].childNodes[bannerSequence].firstChild.firstChild.nodeValue);

 

e

 

imageText_mc.headerTxt.text = banners[imageCounter];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo a Elektar esta correta!

 

No flash selecione o texto onde o acento não aparece clique em EMBED depois com a tecla CTRL pressionada selecione as opções: Uppercase, Lowercase, Nemerals, PUNCTUATION, Basic Latin!!

 

E no inicio do seu XML tem que estar assim:

<?xml version="1.0" encoding="ISO-8859-1" ?>

Pois é, mas não é só isso. Tive o mesmo problema, já havia selecionado as opções citadas acima, mas não resolveu. Olhando o painel embed novamente, percebi a opção "Include those characters:" logo abaixo das opções já citadas e resolvi arriscar, inseri "ÃÀÁÂÈÉÊÕÒÓÔÍÌÚÙÇ" nesta caixa, depois cliquei em ok. Deu certo, só resolveu depois que escrevi os caracteres manualmente.

 

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.