Einzelnen Beitrag anzeigen

MatthiasR

Registriert seit: 21. Apr 2005
193 Beiträge
 
#1

Welcher Zeichensatz für neue DB (über Zeos) empfehlenswert?

  Alt 2. Jul 2009, 12:04
Datenbank: PostgreSQL • Version: 8.3 • Zugriff über: ZeosLib
Da wir momentan was PostgreSQL angeht noch recht grün hinter den Ohren sind, uns aber entschieden haben, es für kommende Projekte einzusetzen, stellt sich für mich gerade die Frage nach dem "richtigen" Zeichensatz für neue Datenbanken. Zugegriffen werden soll darauf mittels den Zeos-Komponenten (momentan) aus Delphi 7.

Standardmäßig ist bei PostgreSQL ja UTF8 als Zeichensatz für neue Datenbanken eingestellt (in diesem pgAdmin-Tool). Da UTF8 sowohl unter einem Windows- als auch Linux-Server zu Verfügung steht, wäre das erstmal die erste Wahl. Problem an der Geschichte ist nur die Client-Seite: Umlaute werden im Delphi-DBGrid falsch angezeigt. Auch wenn ich per INSERT-Befehl einen AnsiString, der Umlaute enthält, in eine UTF8-Datenbank einfügen will, kommt eine Fehlermeldung:

Zitat:
SQL Fehler: ERROR: invalid byte sequence for encoding "UTF8": 0xfc
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
Eine Möglichkeit, den Fehler zu umgehen, wäre da vorherige Wandeln des AnsiString in UTF8 mittels AnsiToUTF8. Allerdings ist das recht mühsam, da jedes mal dran zu denken, außerdem löst das nach wie vor das Problem der Anzeige im DBGrid nicht.

Was also tun?

1. Gibt es irgend eine Möglichkeit, das DBGrid (oder DataSource oder Query oder Connection) irgendwie auf UTF8 umzustellen?

2. Ist UTF8 als Zeichensatz überhaupt empfehlenswert? Ich habe bei meinen bisherigen Tests auch den WIN1252-zeichensatz verwendet, weil ich damit die Probleme nicht habe. Allerdings steht der mir unter Linux nicht zu Verfügung, und wir haben auch Linux DB-Server im Einsatz.

Vielen Dank für eure Hilfe !
  Mit Zitat antworten Zitat