Umlaute in psql

Wie machen es eigentlich andere deutschsprachige Windows Benutzer mit Postgres? Gehen alle den Weg über die batch Datei? Seit ich seit mehreren Tagen auf dem Web (v.a. stackoverflow, hier) nach Informationen suche, fällt mir auf, dass auch andere mit dem Problem kämpfen.

Wie machst du es? Zeigt es bei dir Umlaute korrekt an, wenn du Worte mit Umlauten in einem Datensatz importierst in postgres?

Ich verwende unter Windows kein psql (bzw. nur für administrative Arbeiten, bei denen keine Umlaute benötigt werden. Ich denke die grundsätzlichen Probleme von UTF-8 in der Windows Konsole können auch andere Konsolen-Clients (wie pgcli) nicht beheben.

Nimm einen GUI Client, dann solltest Du keine Probleme mit den Umlauten haben.

Ich habe es bei mir nochmal ausprobiert.

Datenbank encoding ist UTF-8. Mit chcp 1252 vor dem Aufruf von psql und folgendem set client_encoding=win1252; werden Umlaute in den Daten korrekt angezeigt.

Ja, ich sehe, dass es bei dir geht.

Bei mir geht’s leider nicht:

Warum wohl?

Bei mir wird es sogar in pgAdmin4 falsch angezeigt :frowning_face:

Was lässt sich daraus schliessen? Das ist doch seltsam…

Meine .sql-Datei, die ich importiere sieht so aus:

Ich blick nicht mehr durch…

Das set client_encoding ... musst Du vor den INSERTs laufen lassen, sonst kommen die Umlaute natürlich falsch an.

Klar, ich De** :wink: Werde dies noch überprüfen. Vielen Dank für deine Geduld und deine Hilfe, habe viel gelernt!

Es geht leider immer noch nicht…

Ich setze das client_encoding VOR den inserts…

Was mache ich falsch?

Mit was für einem Encoding ist denn die Datei gespeichert? Funktioniert es wenn Du die INSERTs via Copy & Paste direkt ausführst?

Mit UTF-8.

Wenn ich die inserts manuell einfüge, klappt es:

Warum klappt es wohl nicht, wenn ich die Befehle aus einer Datei ausführen lasse mit \i DATEI? Gut, habe jetzt wenigstens einen “work around” für mein Problem, aber so richtig elegant ist copy/paste ja nicht :see_no_evil:

Dann passt das Encoding der Datei vermutlich nicht. Die müsstest Du natürlich auch mit “win1252” (alternativ ISO-8859-1 oder auch “ANSI” genannt) speichern.

Yep, das war’s! Mit ANSI klappt der Import der .sql-Datei! Letztes Rätsel gelöst, Indiana Jones hat den heiligen Gral gefunden :smiley: :raised_hands: :+1: Danke für deine Tipps und deine Geduld!

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.