TAGS:
AJAX CARACTERES ESPECIAIS LÍNGUA PORTUGUESA PORTUGUÊS UTF8 iso-8859-1
AJAX JAVASCRIPT PORTUGUESE SPECIAL CHARACTERS UTF8 iso-8859-1
EDIÇÃO 3
Queria partilhar com todos a minha (pouca) experiência com AJAX.
Se algum de vós já se apercebeu do potencial de AJAX e quer usar esta 'linguagem' para textos em português vai-se deparar com um problema de codificação de carateres que, diga-se de passagem, é das coisas que mais detesto em programação.
Quem quiser desenvolver uma simples ferramenta de sugestão como a do google usando caracteres especiais da nossa língua como à ou Ç terá de fazer o seguinte:
Imaginemos que vocês escrevem qualquer coisa numa
e que depois, usando AJAX, vão chamar uma função que irá fazer qualquer coisa ao que escreveram (INPUT) e retornar um resultado (OUTPUT) para a página.
A vossa função deverá ter 3 partes:
em 1. adicionar (na linha a seguir)
em 2. adicionar (na linha antes)
RESUMINDO: input --> DECODE(input) --> qualquer coisa --> ENCODE(output) --> output
Quando definem a variável url no ficheiro .js têm de codificar a parte que contém caracteres especiais, neste caso era
com str = string de entrada. Usando a função de Javascript encodeURIComponent():
PS: este código é disponibilizado sem qualquer garantia de funcionar para todos os casos, para mim funcionou!
AJAX CARACTERES ESPECIAIS LÍNGUA PORTUGUESA PORTUGUÊS UTF8 iso-8859-1
AJAX JAVASCRIPT PORTUGUESE SPECIAL CHARACTERS UTF8 iso-8859-1
EDIÇÃO 3
Queria partilhar com todos a minha (pouca) experiência com AJAX.
Se algum de vós já se apercebeu do potencial de AJAX e quer usar esta 'linguagem' para textos em português vai-se deparar com um problema de codificação de carateres que, diga-se de passagem, é das coisas que mais detesto em programação.
Quem quiser desenvolver uma simples ferramenta de sugestão como a do google usando caracteres especiais da nossa língua como à ou Ç terá de fazer o seguinte:
Imaginemos que vocês escrevem qualquer coisa numa
Código:
<input type="text" name ="txt">
A vossa função deverá ter 3 partes:
- identificar a entrada (input)
- fazer qualquer coisa com a entrada
- devolver a saída (output)
-
Código:
$q=$_GET["txt"];
- ... qualquer coisa ...
-
Código:
echo $resposta;
em 1. adicionar (na linha a seguir)
Código:
$q=utf8_decode($q);
Código:
$resposta =utf8_encode($resposta);
Quando definem a variável url no ficheiro .js têm de codificar a parte que contém caracteres especiais, neste caso era
Código:
?q=str
Código:
var url="meuajax.php";
url=url+"?q="+[COLOR=Red]encodeURIComponent(str)[/COLOR];
url=url+"&sid="+Math.random();
TESTADO com firefox 2.0 e IE7
TESTADO com cabeçalho charset=utf-8 e charset=iso-8859-1
TESTADO com caracteres especiais da língua portuguesa como Ç ã ô ... e outros como & < %
Adaptado para caracteres especiais de www.w3schools.comTESTADO com cabeçalho charset=utf-8 e charset=iso-8859-1
TESTADO com caracteres especiais da língua portuguesa como Ç ã ô ... e outros como & < %
Última edição: