Datenspeicherung und -übertragung
Mit WebSphere Commerce Suite können Sie ein einzelnes Geschäft zum Anzeigen von Seiten
in verschiedenen Sprachen verwenden, auch wenn die Sprachen unterschiedliche Zeichensätze verwenden. Hierzu werden Daten in der
WebSphere Commerce-Datenbank in einem universellen Format gespeichert,
das auf eine Vielzahl von Sprachen angewendet werden kann. Da nicht alle Web-Browser
die gleichen Zeichensätze unterstützen, werden die Daten bei der Anforderung
durch eine JSP-Seite in einen geeigneten Zeichenaatz umgewandelt.
Der folgende Überblick zeigt, wie die Daten von der Datenbank bis zum Browser gelangen:
- Textdaten werden in der WebSphere Commerce-Datenbank mit Unicode UTF-8-Codierung gespeichert.
- JDBC-Treiber laden die Daten aus der Datenbank und wandeln sie in UTF-8 für die native Java 16-Bit-Unicode-Codierung um.
- Die JSP-Seiten geben die Daten mit der Java 16-Bit-Codierung aus.
- Der WebSphere Application Server wandelt die JSP-Ausgabe von 16-Bit Unicode in die Zielcodierung um.
Die Codierung kann entweder in einer JSP-Seite oder einer property-Datei angegeben werden. Um beispielsweise eine
Shift-JIS-Codierung für eine japanische Seite anzugeben, könnten wie folgt vorgehen:
- JSP-Seite
<%@ page contentType="text/html; charset=Shift-JIS"%>.
- Property-Datei
ENCODESTATEMENT = text/html; charset=Shift-JIS
Die Zeichencodierung der generierten JSP-Seite
wird mit der folgenden Anweisung in der JSP-Schablone festgelegt:
<%response.setContentType(infashiontext.getString("ENCODESTATEMENT"));
%>
Da nicht alle Browser jedes Codierungsschema verstehen, ist es
im Allgemeinen besser, nur die gängigeren Codierungsschemata wie UTF-8 und Shift-JIS anzugeben.
- Die umgewandelten Daten werden an den Browser zurückgeschickt.
- Der Browser interpretiert die HTTP-Antwort entsprechend der in dem Header angegebenen Codierung.
Der folgende Überblick zeigt, wie die Daten vom Browser bis zur Datenbank gelangen:
- Daten werden im Browser eingegeben.
Mehrsprachige Daten können mit einer Eingabemethode eingegeben werden.
- WebSphere Commerce wandelt die von dem Broweser kommenden Daten mit der Methode setCharacterEncoding() in eine Java 16-Bit-Codierung um.
Jede LANGUAGE_ID in der Tabelle LANGUAGE wird mit der Spalte ENCODING einem Codierungswert zugeordnet. Dieser Wert wird zum Interpretieren der von dem
Browser kommenden Daten verwendet.
- Die Daten werden an die Datenbank gesendet, wo sie von Java 16-Bit in die
UTF-8-Codierung konvertiert werden; mit dieser Codierung werden sie in der Datenbank gespeichert.