Almacenamiento y transferencia de datos
Una sola tienda puede visualizar páginas en múltiples idiomas, incluso si los idiomas utilizan
juegos de caracteres diferentes. Para llevar a cabo esto, los datos
se almacenan en la base de datos de WebSphere Commerce en un formato universal
que se puede aplicar a un gran número de idiomas. Dado que no todos
los navegadores Web soportan los mismos juegos de caracteres,
cuando una página JSP solicita datos, éstos se convierten
al juego de caracteres adecuado.
A continuación se describe cómo viajan los datos de la base de datos al navegador:
- Los datos de texto se almacenan en la base de datos de WebSphere
Commerce utilizando la codificación Unicode UTF-8.
- Los controladores JDBC cargan los datos de la base de datos,
convirtiéndolos de UTF-8 a la codificación Unicode nativa
de 16 bits de Java.
- Las páginas JSP producen los datos utilizando la codificación
Java de 16 bits.
- WebSphere Application Server convierte la salida JSP de
Unicode de 16 bits a la codificación de destino.
La codificación puede venir especificada en la página JSP o en un archivo de propiedades. Por ejemplo,
para especificar la codificación Shift-JIS para una página en japonés, podría hacer lo siguiente:
- Página JSP
<%@ page contentType="text/html; charset=Shift-JIS"%>.
- Archivo de propiedades
ENCODESTATEMENT = text/html; charset=Shift-JIS
La codificación de los caracteres de la página JSP generada se establece utilizando la siguiente sentencia en la plantilla JSP:
<%response.setContentType(infashiontext.getString("ENCODESTATEMENT")); %>
Puesto que no todos los navegadores pueden interpretar cada esquema de codificación,
especifique sólo los esquemas de codificación más conocidos, como por ejemplo UTF-8 y Shift-JIS.
- Los datos convertidos se vuelven a enviar al navegador.
- El navegador interpreta la respuesta HTTP basándose en la codificación especificada en la cabecera.
A continuación se describe cómo viajan los datos del navegador a la base de datos:
- Se entran datos en el navegador.
Los datos multilingües pueden entrarse utilizando un método de entrada.
- WebSphere Commerce convierte los datos procedentes del navegador a la codificación
Java de 16 bits utilizando el método setCharacterEncoding().
Cada LANGUAGE_ID de la tabla LANGUAGE se correlaciona con un valor de codificación utilizando
la columna ENCODING. Este valor se utiliza para interpretar los datos que vienen del navegador.
- Los datos se envían a la base de datos donde se convierten de la codificación Java de 16 bits a UTF-8,
que es cómo se almacenan en la base de datos.