Codificaciones en los servlets

Muchas veces, cuando trabajamos con caractéres que no están en la tabla ASCII (castellano incluído) pueden surgir problemas a la hora de tratar las cadenas en los servlets. Por ejemplo, muchas veces aparecen caractéres extraños en vez de las eñes, letras acentuadas, etc. La forma más sencilla de evitar esto es trabajar con UTF-8 (Unicode) a todos los niveles. Para lograrlo basta con seguir unas simples reglas a la hora de enviar los formularios:

  1. En la página HTML desde la que se envía el formulario hay que poner el meta, exactamente: <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
  2. En el servlet que trata la página enviada, la primera (esto es super-importante) llamada tiene que ser: request.setCharacterEncoding(“UTF-8″);
  3. No estaría demás (pero no es obligatorio) incluir en la página HTML el tipo de documento que es, por ejemplo: <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>.

Siguiendo estas sencillas reglas se puede evitar muchos quebraderos de cabeza.

Un comentario a “Codificaciones en los servlets”

  1. Muchas gracias por la info!
    Me sirvió de mucho, he recomendado tu blog

Deja un comentario