jueves, 9 de octubre de 2008

Javascript - Caracteres especiales

Cuando estaba armando mis regular expressions, encontre que javascript no soporta caracteres especiales, como por ejemplo los latinos (ñÑ áéÁÉ etc). No importa el tipo de normativa (iso o UTF-8) que hay en el HTML.
Es por eso, que cuando uno trae datos de una DB mediante ajax, en lugar de dichos caracteres aparece un simbolo raro, generalmente un rombo negro con un signo de pregunta dentro. Y pese a buscarle la vuelta y googlear durante horas, la única solución que obtuve, fue hacer un "search and replace" en la respuesta que imprime el lenguaje de servidor de turno, de los caracteres especiales por caracteres en UNICODE o Caracteres HTML. Por ende si quisieramos completar un campo, el string que se imprime debería ser "Elegí" y no "Elegí".

Quizá al hacer esto, segun la aplicación, necesites invertir ese "search and replace" al devolver datos a la DB para que en la base se guarde nuevamente "Elegí" y no "Elegí". Una paja, pero es así.

Ejemplo de caracteres especiales HTML:

á - á
é - é
í - í
ó - ó
ú - ú
Á - Á
É - É
Í - Í
Ó - Ó
Ú - Ú
ñ - ñ
Ñ - Ñ


Ejemplos de caracteres UNICODE

ñ - \u00F1
Ñ - \u00D1
Á - \u00C1
á - \u00E1
É - \u00C9
é - \u00E9
Í - \u00CD
í - \u00ED
Ó - \u00D3
ó - \u00F3
Ú - \u00DA
ú - \u00FA
Ü - \u00DC
ü - \u00FC
Ç - \u00C7
º - \u00BA
ª - \u00AA

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]

<< Inicio