Ergebnis 1 bis 4 von 4

Thema: psql Konsole & Encoding

  1. #1
    Nuadu ist offline Benutzer
    Registriert seit
    09.10.2008
    Ort
    Essen
    Beiträge
    45

    Standard psql Konsole & Encoding

    Hallo zusammen,

    ich hätte mal eine Frage zu psql.
    Wenn ich mich über die psql an meine Datenbank anmelde erscheint folgende Meldung:

    Code:
    Warnung: Konsolencodeseite (850) unterscheidet sich von der Windows-
             Codeseite (1252). 8-Bit-Zeichen funktionieren möglicherweise nicht
             richtig. Einzelheiten finden Sie auf der psql-Handbuchseite unter
             »Notes for Windows users«.
    Geben Sie »help« für Hilfe ein.
    Selbstverstänlich habe ich im psql Handbuch nachgesehen.

    Der Befehl cmd.exe /c chcp 1252 lässt sich auch außerhalb von psql ausführen. Der Befehl wird auch bestätigt und angenommen.
    Bei dem nächsten öffnen der psql Konsole erscheint aber wieder die gleiche
    Meldung wie oben aufgelistet.

    Hat jemand eine Idee oder hatte das gleiche Problem?

    Die Fakten:
    Betriebssystem: Windows XP
    PostgreSQL: 8.4
    psql: 8.4.0
    Eintrag in der postgresql.conf 'client_encoding': UTF8



    Vielen Dank

  2. #2
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    493

    Standard

    Zitat Zitat von Nuadu Beitrag anzeigen
    Der Befehl cmd.exe /c chcp 1252 lässt sich auch außerhalb von psql ausführen. Der Befehl wird auch bestätigt und angenommen.
    Bei dem nächsten öffnen der psql Konsole erscheint aber wieder die gleiche
    Meldung wie oben aufgelistet.
    chcp gilt nur für die aktuelle "Session" in der Konsole, wenn die Konsole geschlossen wird, dann geht diese Einstellung verloren.

    Am besten machst Du Dir eine Batchdatei in der Du zuerst chcp aufrufst und dann psql:
    Code:
    @echo off
    chcp 1252 
    c:\Programme\PostgreSQL\8.4\bin\psql.exe %*
    den Pfad zu psql musst du natürlich an Dein System anpassen.

  3. #3
    Nuadu ist offline Benutzer
    Registriert seit
    09.10.2008
    Ort
    Essen
    Beiträge
    45

    Standard

    Hallo,

    danke für die schnelle antwort.
    Die Idee mit der *.bat Datei kam mir gestern Abend auch.

    Unter C:\Programme\PostgreSQL\8.4\scripts\
    befindet sich schon eine *.bat Datei, welche psql startet.
    Ich habe an die serste Stelle chcp 1252 geschrieben.

    Bei der Anmeldung erscheint nun keine Meldung, da dachte ich das Problem sei beseitigt.

    Wenn ich aber folgenden Befehl eingebe

    Code:
    CREATE TYPE farben_type AS ENUM ('grün', 'blau',);
    Erscheint mal wieder die Fehlermeldung das die Kodierung nicht in ordnung sei und verweist auf den Eintrag in der Konfig-Datei client_encoding.
    In dieser steht aber UTF8.

  4. #4
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    Ja, gut. Wenn dein Client eine 8-bittige Schriftart verwendet, darfst du auf der Clientseite nicht UTF8 einstellen. Du musst also auch die 1252 als "client_encoding" angeben.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum