André Laugks: utf8 Problem bei pdo (postgres)

Beitrag lesen

Hallo!

SHOW server_encoding;

SQL_ASCII

welche Möglichkeiten habe ich bei postgres, um das zu ändern?

Hast Du schon viele Daten in der Datenbank? Wenn nicht, exportiere nur das Schema.

Für alle Fälle noch noch ein gesamtes Backup der ursprünglichen Datenbank. Besser ist mit -Ft.

pg_dump -c -Ft -d <datenbank> -U <user> > datenbank.sql

Versuche mal die Datenbank als UTF-8 zu exportieren (-E, --encoding=ENCODING  dump the data in encoding ENCODING). Keine Ahnung ob das funktioniert, ich habe das nie probiert.

Schema als als UTF-8 exportieren. Schaue mal in die Datei rein, was dort als Encoding gesetzt ist.

pg_dump -s -E UTF-8 -d <datenbank> -U <user> > schema_utf.sql

Datenbank als UTF-8 exportieren. Besser ist mit -Ft.

pg_dump -c -Ft -E UTF-8 -d <datenbank> -U <user> > datenbank_utf.sql

Datenbank löschen.

DROP DATABASE <datenbank>;

Datenbank anlegen mit Encoding UTF-8.

CREATE DATABASE <datenbank> WITH ENCODING = 'UTF-8';

Nun importierst Du das Schema oder die gesamte Datenbank.

pg_restore -d <datenbank> -U <user> < datenbank_utf.sql

Wenn Du schon Trigger oder ForeignKeys angelegt hast, mußt Du die Parameter "-X" und "-S postgres" hinzunehmen. Damit schaltest Du Sie während des Imports aus.

André Laugks

--
Die Frau geht, die Hilti bleibt!