Codificar e decodificar cadeias para UTF-8 com Javascript

Funções Javascript para passar para UTF-8 um texto e para realizar o passo inverso, ou seja, desde UTF-8 decodificar para o jogo de caracteres ISO-8859-1.

Por Miguel Angel Alvarez - Tradução de Celeste Veiga


Publicado em: 05/9/11
Valorize este artigo:
Neste artigo vamos mostrar outras das funções Javascript oferecidas nas bibliotecas php.js, neste caso para trabalhar com o jogo de caracteres UTF-8 desde páginas codificadas como ISO-8859-1 e vice-versa.

São funções análogas às existentes em PHP para codificar e decodificar cadeias para UTF-8, mas em suas versões Javascript, para a programação do lado do cliente.

Nós não fizemos estas funções, mas, como comentávamos, estão presentes nas bibliotecas php.js, um projeto para portar as funções de PHP à linguagem Javascript, que contém muitas jóias como estas, nas que podemos utilizar algumas das funções que já existem em PHP, às que talvez estejamos habitualmente acostumados a recorrer em nossas aplicações web.

Nota: Para acessar o código destas funções temos que nos dirigir ao web site de php.JS e acessar as páginas de cada uma delas. Podemos, também, fazer o download de um pacote com o código Javascript das duas, assim como qualquer outra função que nos possa interessar. Tudo isto já foi comentado no artigo de apresentação de PHP.JS.

As duas funções que apresentamos neste caso são bem simples, já que só recebem uma cadeia e retornam outra, que nos serve para fazer duas operações:

Função utf8_encode() de Javascript

Serve para codificar uma cadeia de caracteres que temos em ISO-8859-1 em outra string com codificação UTF-8. Recebe como parâmetro a cadeia ISO-8859-1 e retorna a cadeia UTF-8.

Pode-se ver um exemplo de uso a continuação:

var texto = "Tomaré una decisión con la cigüeña.";
var textoUtf8 = utf8_encode(texto);

Como resultado de executar estas duas sentenças, na variável textoUtf8 teremos uma cadeia como esta:

Tomaré una decisión con la cigüeña.

Função utf8_decode() de Javascript

Serve para codificar uma cadeia de caracteres que temos em UTF-8 em outra string com codificação ISO-8859-1. Recebe como parâmetro a cadeia UTF-8 e retorna a cadeia que tem o jogo de caracteres ISO-8859-1.

var texto = "Tomaré una decisión con la cigüeña.";
var textoISO = utf8_encode(texto);

Como resultado de executar essas instruções, o conteúdo da variável textoISO voltará a ser a cadeia inicial "Tomaré una decisión con la cigüeña.".

Conclusão

Como vemos, são funções bastante simples, mas que nos poderão tirar de algum apuro quando estivermos lidando com jogos de caracteres desde Javascript e queremos passar as cadeias entre os habituais ISO-8859-1 e UTF-8.

A modo de referência, comento que estas funções para passar entre jogos de caracteres foram publicadas originalmente em WebToolkit.info, embora recomendo que vocês as baixem diretamente das bibliotecas php.js, pois foram melhoradas por vários contribuidores e reparados alguns erros detectados .






Usuários :    login / registro
Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato