Funciones Javascript para pasar a UTF-8 un texto y para realizar el paso inverso, es decir, desde UTF-8 decodificar al juego de caracteres ISO-8859-1.
Son unas funciones análogas a las existentes en PHP para codificar y descodificar cadenas a UTF-8, pero en sus versiones Javascript, para la programación del lado del cliente.
Nosotros no hemos hecho estas funciones, sino que tal como comentábamos, están presentes en las librerías php.js, un proyecto para portar las funciones de PHP al lenguaje Javascript, que contiene muchas joyitas como éstas, en las que podemos utilizar algunas de las funciones que ya existen en PHP, a las que quizás estemos acostumbrados a recurrir habitualmente en nuestras aplicaciones web.
Las dos funciones que os presentamos en este caso son bien simples, ya que simplemente reciben una cadena y devuelven otra, que nos sirven para hacer dos operaciones:
Función utf8_encode() de Javascript
Sirve para codificar una cadena de caracteres que tenemos en ISO-8859-1 en otro string con codificación UTF-8. Recibe como parámetro la cadena ISO-8859-1 y devuelve la cadena UTF-8.Se puede ver un ejemplo de uso a continuación:
var texto = "Tomaré una decisión con la cigüeña.";
var textoUtf8 = utf8_encode(texto);
Como resultado de ejecutar estas dos sentencias, en la variable textoUtf8 tendremos una cadena como esta:
Tomaré una decisión con la cigüeña.
Función utf8_decode() de Javascript
Sirve para codificar una cadena de caracteres que tenemos en UTF-8 en otro string con codificación ISO-8859-1. Recibe como parámetro la cadena UTF-8 y devuelve la cadena que tiene el juego de caracteres ISO-8859-1.
var texto = "Tomaré una decisión con la cigüeña.";
var textoISO = utf8_encode(texto);
Como resultado de ejecutar esas instrucciones, el contenido de la variable textoISO volverá a ser la cadena inicial "Tomaré una decisión con la cigüeña.".
Conclusión
Como vemos, son funciones bastante simples, pero que podrán sacarnos de algún apuro cuando estamos lidiando con juegos de caracteres desde Javascript y queremos pasar las cadedas entre los habituales ISO-8859-1 y UTF-8.A modo de referencia, os comento que estas funciones para pasar entre juegos de caracteres fueron publicadas originalmente en WebToolkit.info, aunque os recomiendo descargarlas directamente de las librerías php.js, pues varios contribuidores las han mejorado y han reparado algunos errores que se han detectado.
- Este enlace es para acceder a la función JavaScript utf8_decode().
- Este otro enlace te llevará a la función JavaScript utf8_encode().
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...