Stockage et transfert de données
Un seul magasin peut afficher des pages en plusieurs langues, même lorsque ces langues utilisent différents jeux de
caractères. Pour permettre cela, les données sont enregistrées dans la base de données WebSphere Commerce dans un format
universel qui peut être appliqué à de nombreuses langues. Comme tous les navigateurs ne prennent pas en charge les mêmes
jeux de caractères, les données sont converties en un jeu de caractères approprié lorsqu'elles sont appelées par une
page JSP.
Voici une description du cheminement des données depuis la base de données jusqu'au navigateur :
- Les données texte sont enregistrées dans la base de données WebSphere Commerce selon le codage Unicode UTF-8.
- Les pilotes JDBC chargent les données depuis la base de données, les convertissant du format UTF-8 au codage Unicode
16 bits natif de Java.
- Les pages JSP envoient les données à l'aide du codage Java 16 bits.
- WebSphere Application Server convertit la sortie JSP d'Unicode 16 bits en codage cible.
Le codage peut être spécifié dans la page JSP ou dans le fichier de propriétés. Par exemple, pour spécifier le codage
Shift-JIS pour une page en japonais, procédez comme suit :
- Page JSP
<%@ page contentType="text/html; charset=Shift-JIS"%>.
- Fichier de propriétés
ENCODESTATEMENT = text/html; charset=Shift-JIS
Le codage des caractères de la page JSP générée est défini à partir de l'instruction suivante dans le modèle JSP :
<%response.setContentType(infashiontext.getString("ENCODESTATEMENT")); %>
Comme tous les navigateurs ne sont pas en mesure de comprendre tous les systèmes de codage, ne spécifiez
que les systèmes de codage bien connus, tels que UTF-8 et Shift-JIS.
- Les données converties sont renvoyées au navigateur.
- Le navigateur interprète la réponse HTTP en fonction du codage spécifié dans l'en-tête.
Voici une description du cheminement des données depuis le navigateur jusqu'à la base de données :
- Les données sont saisies dans le navigateur.
Les données multilingues peuvent être entrées à l'aide d'une méthode d'entrée.
- WebSphere Commerce convertit les données provenant du navigateur en codage Java 16 bits, à l'aide de la méthode
setCharacterEncoding().
Chaque LANGUAGE_ID de la table LANGUAGE est mis en correspondance avec une valeur de codage à l'aide de la colonne
ENCODING. Cette valeur est utilisée pour interpréter les données provenant du navigateur.
- Les données sont envoyées à la base de données, elles y sont converties de Java 16 bits en codage UTF-8,
format dans lequel elles sont enregistrées dans la base de données.