La tecla de acceso 'n' lleva a la navegación de la página. Ir al inicio del contenido.

Este documento es una traducción. En caso de discrepancias o errores, la única versión normativa es el último original en inglés. Los derechos de autor originales corresponden al W3C, como puede verse al final de la página.

Traductor: Spanish Translation Team, Trusted Translations, Inc.

s_gotoW3cHome Internacionalización
 

Codificación de formularios plurilingües

Audiencia de destino: Los codificadores de XHTML/HTML (que utilizan editores o lenguajes de script), los desarrolladores de sistemas de escritura (PHP, JSP, etc.), los gerentes de proyectos web y toda persona que busque información sobre cómo utilizar las codificaciones de caracteres en los formularios.

Pregunta

¿Cuál es la mejor manera de solucionar los problemas de codificación de los formularios que utilizan varios idiomas y sistemas de escritura?

Respuesta

La mejor manera de resolver los problemas de codificación en formularios (X)HTML es ejecutar todas las páginas en UTF-8. UTF-8 puede representar los caracteres de la mayor variedad de idiomas. Los navegadores envían los datos de los formularios con la misma codificación que la página que contiene el formulario; por ello, el usuario puede completar los datos en cualquier idioma y sistema de escritura que desee.

Existen algunos detalles a tener en cuenta para garantizar que esto funcione correctamente. En primer lugar, es importante indicar al navegador que la página del formulario se encuentra en UTF-8. Existen diferentes formas para indicar al navegador cuál es la codificación de su página. Esto es importante en todos los casos, pero aún más si la página de su formulario no contiene ningún caracter que no sea US-ASCII y los usuarios pueden escribir en otros caracteres.

En segundo lugar, es recomendable que el sistema de escritura que recibe los datos del formulario controle que los datos devueltos estén, en efecto, en UTF-8 (en caso de que se produzca algún error, por ej., que el usuario cambie la codificación). El control es posible ya que UTF-8 cuenta con un patrón de bytes muy específico que no se observa en ninguna otra codificación. Si se reciben datos en un formato distinto a UTF-8, se debe enviar un mensaje de error.

Por ejemplo, en Perl, una evaluación de expresión regular de UTF-8 se asemejaría a la siguiente:

$field =~
  m/\A(
     [\x09\x0A\x0D\x20-\x7E]            # ASCII
   | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
   |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
   | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
   |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
   |  \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
   | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
   |  \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
  )*\z/x;

Esta expresión se puede adaptar a otros lenguajes de programación. Se ocupa de varios problemas, tales como codificaciones ilícitas excesivamente largas y el uso ilícito de derivaciones. Devolverá verdadero si $field es UTF-8 y falso en cualquier otro caso.

Dinos qué piensas (en Inglés).

Suscripción a feed RSS.

Nuevos recursos

Noticias de la página de inicio

Twitter (Noticias de la página de inicio)

‎@webi18n

Lecturas complementarias

De: Martin Dürst, W3C. Traductor: Spanish Translation Team, Trusted Translations, Inc..

XHTML 1.0 válido
CSS válido
Codificado en UTF-8

Traducido del inglés con fecha 2007-10-26. Traducción modificada por última vez el 2010-08-18 09:42 GMT.

Para ver el historial de cambios del documento, busque qa-forms-utf-8 en la bitácora de internacionalización.