Achtung: Diese Dokumentation ist veraltet, bitte rufen Sie die Übersichtsseite auf, um zur aktuellen Dokumentation zu gelangen.

3.15.1 Postgres: Wechsel auf der Zeichencodierung auf UTF-8

Unter Postgres bietet es sich an, von Postgres ISO-Codierung zu Postgres-UTF-8 Codierung zu wechseln. Für die Umsetzung der Zeichencodierung von Dateien gibt es in Postgres eingebaute Unterstützung: Wenn ein Text-Dump einer ISO-Datenbank erzeugt wird, dann steht im Kopf der Datei die Encodierung. Wenn man diese Datei mit psql in eine UTF-8-DB füttert, wird automatisch von ISO nach UTF-8 konvertiert. Für die Umcodierung der Datenbank hat sich also folgendes Vorgehen bewährt:

Exportieren Sie die ISO-Datenbank mit pg_dump im Format "plain text". Es wird eine sql-Datei erzeugt, im folgenden Beispiel für die Datenbank mit dem Namen "$DBNAME":

pg_dump -f $DBNAME.sql   $DBNAME

  Falls Sie direkt beim Dump eine zip-Datei erzeugen wollen, nutzen Sie folgendes Script:

pg_dump $DBNAME | gzip >$DBNAME.sql.gz   2>dump.err

Wechsel Sie dann in eine Postgres-Installation, die UTF-8 unterstützt, und erzeugen Sie die Datenbank neu:

createdb --encoding=UTF-8 $DBNAME

Dann importieren die Datenbank mit:

psql $DBNAME < $DBNAME.sql

 

Danach müssen Sie alle Dateien unterhalb von $SUPERX_DIR von ISO nach UTF-8 konvertieren. Bitte fertigen Sie zunächst eine   Sicherung des Dateisystems unterhalb von $SUPERX_DIR an.

Zum Konvertieren sich die Shellscripte vom SuperX Kernmodul 4.0 oder höher an.   In short:

cd $SUPERX_DIR

sx_list_isofiles.x . >iso.txt

sx_recode_isofiles.x iso.txt

Am Ende müssen Sie noch in der Datei $SUPERX_DIR/db/bin/ SQL_ENV die Variable LANG auf die UTF-8-Codierung setzen. Führen Sie dazu

locale -a | grep de

aus, um die verfügbaren Codierungen zu ermitteln, und setzen Sie dann den entsprechenden Wert, z.B.:

LANG=de_DE.utf8

export LANG

Außerdem ergänzen Sie im Parameter CATALINA_OPTS den Schalter -Dfile.encoding=UTF-8, z.B.

CATALINA_OPTS="-Xmx700M -XX:MaxPermSize=200m -Djava.awt.headless=true -DSuperX-DB-PROPERTIES-SET=true -Dfile.encoding=UTF-8 "

Danach laden Sie einmal die Datei SQL_ENV neu:

. $SUPERX_DIR/db/bin/SQL_ENV

Danach müssen Sie in der Datei $SUPERX_DIR/tomcat/conf/ server.xml den Parameter URIEncoding="UTF-8"   ergänzen, z.B.

<Connector port="8080" protocol="HTTP/1.1"

                connectionTimeout="20000"

                redirectPort="8443" URIEncoding="UTF-8" />

 

Starten Sie dann noch Tomcat neu. Damit die die Migration nach UTF-8 beendet.

 


Druckversion HTML

Zur Superx-Homepage SuperX ist auch ein CampusSource-Projekt. Zur CampusSource-Homepage | Powered by FreeMarker Seite 321 / 386
Letzter Update: 11.7.2023
Impressum| Datenschutz