El
envío de parámetros a través de cliente-servidor es una parte esencial que
generalmente se incluye de manera implícita
en el proceso de alguna solicitud hecha por el usuario, es decir todo
ocurre de manera transparente, sin que el usuario se preocupe por los datos que
son claves para llevar a cabo la solicitud, entonces el servidor devuelve la
respuesta pero, ¿Qué ocurre si al visualizar esa respuesta nos encontramos con
un montón de caracteres extraños niño,
jesús, jamás? ¿Seguro a más de uno les ha representado un dolor de
cabeza?
Al
enviarse un documento de tipo texto (text/html, text/plain, etc.) al servidor
también se envía información adjunta al encabezado del HTTP en el campo Content-Type que contiene el
tipo de formato de datos que se está enviando y que especifica la codificación
de caracteres del documento.
Es muy
importante etiquetar siempre los documentos web en forma explícita. HTTP 1.1 dice que
el charset predeterminado es ISO-8859-1. Sin embargo, existen demasiados
documentos sin etiquetar en otras codificaciones. Por lo tanto, los exploradores utilizan la codificación preferida
del lector cuando no exista ningún parámetro charset explícito.
Por
lo general, la línea del encabezado de HTTP se ve de la siguiente manera:
Content-Type: text/html; charset=utf-8
En
teoría, se puede utilizar toda codificación de caracteres que haya sido registrada por la Autoridad de Asignación de Cifras en
Internet (IANA).Cuanto más extenso sea el uso de una codificación de
caracteres, mayor será la probabilidad de que el explorador la comprenda. La codificación Unicode, como UTF-8, es una
buena opción debido a varios motivos.
Para
configurar correctamente la codificación
de caracteres UTF-8, puedes hacer lo siguiente:
1.-Incluir la directiva page y el Content-Type en el head
del cuerpo HTML de la siguiente manera:
2.-Agregar
el siguiente el método setCharacterEncoding(“UTF-8”) en tu código java ya sea en Servlet o en JSP,
dependiendo donde recibas los parámetros:
*Nota:
este método reemplaza la codificación de
caracteres usada en el cuerpo de esta solicitud. Este método debe ser llamado
antes de la lectura de parámetros de la petición o la lectura de entrada. De lo
contrario, no tiene ningún efecto.
Ejemplo
1:
Ejemplo2:
Configurar MySQL en UTF8 por defecto
Con esto garantizamos que la base de datos MySQL esté configurada en UTF-8 por defecto para no tener problemas con caracteres multilenguaje.
Si utilizas Ubuntu:
Con esto garantizamos que la base de datos MySQL esté configurada en UTF-8 por defecto para no tener problemas con caracteres multilenguaje.
Si utilizas Ubuntu:
Localizar el fichero my.cnf este fichero se encuentra normalmente en la
ruta /etc/mysql/my.cnf, modificaremos las siguientes líneas en la sección
[mysqld]:
skip-character-set-client-handshake
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
collation_server=utf8_unicode_ci
character_set_server=utf8
Para los que están
en Windows y utilizan WAMPSERVER pueden encontrarlo como se indica a
continuación:
Y copian las
líneas anteriores en la sección correspondiente de la siguiente manera:
Después pedimos un
status en la consola del MySQL:
Referencias
electrónicas






No hay comentarios:
Publicar un comentario