NLS-Einstellungen auf Windows / Unix für EE8ISO8859P2 |
|||||
---|---|---|---|---|---|
Die Inbetriebnahme von Applikationen in osteuropäischen Ländern wie Polen bietet oft Probleme, indem die länderspezifischen Zeichen nicht korrekt am Bildschirm dargestellt werden. Dabei reicht es meistens nicht aus nur die Windows Einstellungen einzustellen, vielmehr muss der gesamte Ablauf zwischen der Bildschirmdarstellung und der Oracle Datenbank richtig eingestellt werden. Die folgende Anleitung für Polen dient dazu als Beispiel, für osteuropäische Länder muss grundsätzlich der EE8ISO8859P2 Zeichensatz gewählt werden. 1). Font (Schritt-1) Als erstes muss ein Font gewählt werden, der die Zeichen codieren kann. Dies war unter OSF/Motif-Unix oft ein Problem. Wenn man einen 7-Bit Font verwendet, können die Zeichen nicht dargestellt werden. Die Zeichen müssen beim Eintippen also grundsätzlich am Bildschirm erscheinen, ansonsten muss auf einen andern Font gewechselt werden. 2). Betriebssystem (Schritt-2) Das Betriebssystem muss den entprechenden Zeichensatz zur Verfügung stellen. Man muss also das entsprechende Windows-NT installieren. Als MDN Mitglied (Microsoft Developer Network) kennt man dies ja, da wird man alle 2 -3 Monate mit einem Stapel CD's beglückt mit koreanischem schwedischen, japanischem, etc Windows-NT. Ist also das korrekte Windows-NT installiert worden ? 3). Betriebsystem-Einstellungen (Schritt-3) Damit wird der NT-Zeichensatz und weitere Kenngrössen wie Datumsdarstellungen definiert. Windows-NT benutzt ja bekanntlich ein Codepage-XXX Zeichensatz. Beispiel für Polen auf Windows-NT 3.5 4). SQL*Net / Oracle-Client Einstellungen (Schritt-4) Sowohl unter UNIX wie auch unter Windows wird die Zeichensatz Konvertierung für jeden Oracle-Client (zB SQL*Plus, PPB-Customer) festgelegt. Unter Unix und NT wird dazu die Environmentvariable NLS_LANG gesetzt.
5). Oracle-Datenbank (Schritt-5) Die Datenbank selbst speichert die Zeichen im Charactersatz der beim Create Database angegeben wurde: CREATE DATABASE PPB CONTROLFILE REUSE MAXDATAFILES 256 MAXINSTANCES 4 MAXLOGFILES 62 MAXLOGMEMBERS 3 MAXLOGHISTORY 1600 CHARACTER SET "EE8ISO8859P2" DATAFILE '/data/ppb/db1/PPB_sys_1.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGFILE GROUP 1 ('/data/ppb/db1/PPB_log1A.rdo', '/data/ppb/db1/PPB_log1B.rdo') SIZE 5M REUSE, GROUP 2 ('/data/ppb/db1/PPB_log2A.rdo', '/data/ppb/db1/PPB_log2B.rdo') SIZE 5M REUSE; Die aktuellen Settings können mit folgendem Query ermittelt werden: SQL> select name,substr(VALUE$,1,20) from sys.props$; NAME SUBSTR(VALUE$,1,20) ------------------------------ -------------------- DICT.BASE 2 NLS_LANGUAGE POLISH NLS_TERRITORY POLAND NLS_CURRENCY $ NLS_ISO_CURRENCY POLAND NLS_NUMERIC_CHARACTERS ., NLS_DATE_FORMAT DD-MON-YY NLS_DATE_LANGUAGE AMERICAN NLS_CHARACTERSET EE8ISO8859P2 NLS_SORT BINARY NLS_CALENDAR GREGORIAN NLS_RDBMS_VERSION 7.3.3.0.0 GLOBAL_DB_NAME PPB.WORLD EXPORT_VIEWS_VERSION 3
|