Jump to content


Acento Em Template Flash


  • Faça o login para participar
7 replies to this topic

#1 apariciojunior

apariciojunior
  • Visitantes

Posted 09/08/2006, 09:18

Caros,

Comprei uns templates em flash que vieram com o seguinte arquivo fndnxi.txt, onde através dele é feito as configurações dos menus e dos dizeres da animação.

Ele veio como se segue abaixo:

name=Business.com&slogan=Company slogan goes here&slogan2=another short slogan goes here&rep=replay&button1=About the project&button2=Solutions&button3=Technology&button4=Careers&button5=Information&button6=Contacts&icon1=Home&icon2=Site map&icon3=Contact us&url1=#&url2=#&url3=#&url4=#&url5=#&url6=#&iurl1=#&iurl2=#&iurl3=#&enddata=1

Problema: Quando coloco palavras com acento neste arquivo, tais palavras ficam erradas na apresentação, ou seja, a apresentação não aceita acento nem "ç".

Tentei mudar a fonte do tal arquivo especificado acima (que era lucida console) e salvá-lo em UTF-8. Também não deu certo.

Gostaria de uma ajuda para saber como resolver tal problema.

#2 NOVAZOO

NOVAZOO

    12 Horas

  • Usuários
  • 198 posts
  • Sexo:Não informado
  • Localidade:BH/MG/BRASIL
  • Interesses:FLASH - ASP - XML - USABILIDADE - ARQUITETURA DE INFORMAÇÃO

Posted 09/08/2006, 10:57

Estou com o mesmo problema caro colega.

Acontece que consegui resolver parte dele.
No Internet Explorer funciona e no Firefox não.

Engraçado né? Chato demais estas incompatibilidades.

A diferença é que eu estou recuperando estas variáveis como requests(asp)
arquivo.swf?foto_titulo=Crianças no parque& ( crianças no parque )

Quando utilizo codificação ISO na página que carrega o flash, o texto funciona no IE mas não no firefox.
Quando utilizo codificação UTF-8 na página que carrega o flash, o texto não funciona em nenhum deles.


Você já tentou colocar os caracteres no EMBED?

Alguém já teve este problema de incompatibilidade e pode ajudar?

Edição feita por: NOVAZOO, 09/08/2006, 11:01.

Posted Image

#3 RuMAcK

RuMAcK

    Turista

  • Usuários
  • 28 posts
  • Sexo:Não informado

Posted 09/08/2006, 18:27

Oi, pessoas.
Experimentem:

onLoad () {
System.useCodepage=true;
}


#4 Micheeel

Micheeel

    ...

  • Usuários
  • 383 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC

Posted 10/08/2006, 10:40

Oi, pessoas.
Experimentem:

onLoad () {
System.useCodepage=true;
}


Informações sobre acentuação no Flash

Para quem tem problema com isso, na leitura de dados e/ou na hora de gravar dados é importante lembrar que o Flash lê os dados em codificação UTF-8... Logo, você precisa usar no PHP a função utf8_encode e utf8_decode. Assim você evita esses caracteres estranhos quando criando XMLs via PHP com codificação ISO e tentando apresentar no Flash, o que causaria os típicos problemas de acentuação.

Um exemplo de como gerar o XML para o flash...
<?php
require_once("../config.php");

$con_mural = mysql_query("********");

if( mysql_num_rows($con_mural) > 0 ) {
	echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
	echo '<mural>' . "\n";
	while( $row_mural = mysql_fetch_assoc($con_mural) ) {
		echo '  <recado>' . "\n";
		echo '	<id>' . $row_mural['id'] . '</id>' . "\n";
		echo '	<de>' . utf8_encode($row_mural['de']) . '</de>' . "\n";
		echo '	<para>' . utf8_encode($row_mural['para']) . '</para>' . "\n";
		echo '	<mensagem>' . utf8_encode($row_mural['mensagem']) . '</mensagem>' . "\n";
		echo '	<data>' . utf8_encode($row_mural['horario']) . '</data>' . "\n";
		echo '  </recado>' . "\n";
	}
	echo '</mural>';
}
?>
Desta forma o XML iria apresentar certinho no Flash, sem problema algum.

E pra salvar no Banco de dados, você salva usando decodificação UTF-8 porque o flash manda os dados EM UTF-8 também, ele lê e envia com essa codificação. Logo como disse, para gravar no banco de dados você faria algo parecido com o que isto:
<?php
require_once("../config.php");
require_once("../functions.php"); // verifica magic quotes

$de 	  = utf8_decode(escape($_POST['de']));
$para 	  = utf8_decode(escape($_POST['para']));
$mensagem = utf8_decode(escape($_POST['mensagem']));

$inserir = mysql_query("INSERT INTO mural_recados (de, para, mensagem, moderada, idioma) VALUES ('{$de}', '{$para}', '{$mensagem}', '0', '{$idioma}')");
}
?>

Por que NÃO usar o 'System.useCodepage=true' no Flash
O System.useCodepage=true no Flash pode parecer uma solução prática, rápida e eficiente, mas no final das contas você só está enganando a si mesmo, pois isto não resolve nada no nosso caso. Veja, quando você usa o System.useCodepage=true o Flash utiliza a condificação do Sistema Operacional rodando na máquina, então isso faz com que resolva nossos problemas de acentuação certo?! Errado! Se uma pessoa, por motivo de descuido ou não, possuir uma configuração diferente no Sistema Operacional isso já vai fazer com que os problemas de acentuação voltem a ocorrer. Os americanos utilizam codificação UTF-8 geralmente, se no flash estivesse com o System.useCodepage=true, e você estivesse mandando o flash ler um XML ou um texto com codificação ISO, para este americano (ou brasileiro com SO config. errado) a página abriria com os mesmos problemas de acentuação.

Este é o motivo de não se usar o System.useCodepage=true. Evite ao máximo e procure solucionar convertendo seus dados para UTF-8 e decodificando quando necessário.
[]'s
Michel

Posted Image

#5 NOVAZOO

NOVAZOO

    12 Horas

  • Usuários
  • 198 posts
  • Sexo:Não informado
  • Localidade:BH/MG/BRASIL
  • Interesses:FLASH - ASP - XML - USABILIDADE - ARQUITETURA DE INFORMAÇÃO

Posted 10/08/2006, 14:39

O sistema é em ASP e em ASP não há codificadao de string tipo "utf8_decode".

Já tentei setar toda a página como UTF-8 e ainda sim não consegui reoslver o problema no firefox. No internet Explorer funciona perfeitamente.
Posted Image

#6 RuMAcK

RuMAcK

    Turista

  • Usuários
  • 28 posts
  • Sexo:Não informado

Posted 10/08/2006, 17:18

Hmm..

Só salvar o .txt com codificação UTF-8 (ali em 'salvar como') resolve isso, então?
Eu testei aqui offline e funcionou, pelo menos.

#7 Micheeel

Micheeel

    ...

  • Usuários
  • 383 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC

Posted 11/08/2006, 08:27

O sistema é em ASP e em ASP não há codificadao de string tipo "utf8_decode".

Já tentei setar toda a página como UTF-8 e ainda sim não consegui reoslver o problema no firefox. No internet Explorer funciona perfeitamente.


Hummm bom ai não sei, no PHP tem, ASP não entendo não :(
[]'s
Michel

Posted Image

#8 Igor Silva

Igor Silva

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 29/12/2007, 09:29


O sistema é em ASP e em ASP não há codificadao de string tipo "utf8_decode".

Já tentei setar toda a página como UTF-8 e ainda sim não consegui reoslver o problema no firefox. No internet Explorer funciona perfeitamente.


Hummm bom ai não sei, no PHP tem, ASP não entendo não :(


Bem amigos, o codigo ASP abaixo funcionou comigo.

function DecodeUTF8(s)  dim i  dim c  dim n  i = 1  do while i <= len(s)    c = asc(mid(s,i,1))    if c and &H80 then      n = 1      do while i + n < len(s)        if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then          exit do        end if        n = n + 1      loop      if n = 2 and ((c and &HE0) = &HC0) then        c = asc(mid(s,i+1,1)) + &H40 * (c and &H01)      else        c = 191       end if      s = left(s,i-1) + chr© + mid(s,i+n)    end if    i = i + 1  loop  DecodeUTF8 = s end functionfunction EncodeUTF8(s)  dim i  dim c  i = 1  do while i <= len(s)    c = asc(mid(s,i,1))    if c >= &H80 then      s = left(s,i-1) + chr(&HC2 + ((c and &H40) / &H40)) + chr(c and &HBF) + mid(s,i+1)      i = i + 1    end if    i = i + 1  loop  EncodeUTF8 = s end function

Abrçs!
Ps.: é meu 1º post.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq