![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: FibPlus 6.9.6 Release for 2009
Umlaute in UTF8: Äthiopien statt Äthiopien
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Firebird-Spezialisten,
in meiner Datenbank sind alle VarChars, Chars und Text-Blobs mit UTF8 codiert. Die Darstellung in DB-Grid in meiner Delphi-Form ist nicht zu beanstanden, alles korrekt, auch die Umlaute – bis auf eine Sache, für die ich ein klein wenig ausholen muß: Es gibt zwei Tabellen:
Code:
und
CREATE TABLE LAND (
IDX_LAND INTEGER NOT NULL, LAND VARCHAR(100) DEFAULT '_Unbekannt' NOT NULL, ISOCODE VARCHAR(2), VORWAHL VARCHAR(10), KFZ VARCHAR(3) );
Code:
Um in meinem DB-Grid die Tabelle Währung inkl. des mit der Tabelle Land verknüpften Feldes Land anzeigen zu lassen, habe ich im Währungs-Dataset ein Lookup-Feld erstellt. Nun werden Umlaute in diesem Lookup-Feld nicht richtig dargestellt. Mir ist nicht ganz klar, ob das an der Datenbank, an der Zugriffskomponente oder an meiner geringen Erfahrung mit Unicode liegt (ich würde ja mal spontan auf Letzteres tippen ...).
CREATE TABLE WAEHRUNG (
IDX_WAEHRUNG INTEGER NOT NULL, NAME VARCHAR(100) DEFAULT '_Unbekannt' NOT NULL, SUB_NAME VARCHAR(20), EINTEILUNG INTEGER, KUERZEL VARCHAR(10), ZEICHEN CHAR(1), LAND INTEGER DEFAULT 0 NOT NULL, W_KURS NUMERIC(15,5) DEFAULT 0 NOT NULL, KURS_DATUM DATE, ISO_4217 VARCHAR(3), AKTUELL FIB$BOOLEAN /* FIB$BOOLEAN = SMALLINT DEFAULT 0 NOT NULL CHECK (VALUE IN (0,1)) */, BESCHREIBUNG BLOB SUB_TYPE 0 SEGMENT SIZE 80 ); |
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
Hallo,
wenn ich nicht ganz falsch bin, kann man in UTF8 das Ä in zwei weisen darstellen. Es gibt einmal das Ä und einmal ein A mit dem Folgezeichen "zwei Hochpunkte". Aber das nur am Rande. Hast du schon mal versucht mit einem anderen Programm auf die Datenbank zu zugreifen - z.B. IBExpert o.ä.? Zeigen diese es auch so an? Die DB is ja wie Papier - also geduldig :-) Sprich, wenn du rein schreibst und ausließt können sich Unicode-Probleme kompensieren. Und wie sieht die Deklaration der Default-Chars in Create-Script der Datenbank aus? Evtl. musst du aber auch irgendwo bei den Delphi-Komponenten explizit sagen, dass es sich um eine UTF8-Kodierte DB handelt. Das alles nur mal so ins blaue. Gruß, Chris |
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
Zitat:
Auch bei Schriftart = ANSI_CHARSET stimmt die Darstellung im Lookup-Feld nicht. Zitat:
Delphi-Quellcode:
Die Länder werde im Länder-Grid korrekt angezeigt, wie du unten in der Grafik sehen kannst.
DB_Main.ConnectParams.CharSet := 'UTF8';
Naja, vielleicht komm ich ja noch drauf im Laufe des Tages ... :roll: |
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
Bemerkenswerter finde ich, dass die Darstellung in der Auswahlliste der ComboBox richtig ist, im Editfeld hingegen falsch :gruebel:
|
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
Zitat:
Auch mit anderen Sonderzeichen: Aus Costa-Rica-Colón wird Costa-Rica-Colón |
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
Für mich sieht das nach einem Bug in TDBLookupCombobox aus. Möglicherweise existiert dazu bereits ein QC-Eintrag, müsste man mal recherchieren.
|
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
Zitat:
Auch hab ich das Jedi-DB-Grid gegen das Originale von Delphi ausgetauscht, ohne daß das Problem behoben wäre. Mist, immer klemmt's irgendwo :( |
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
Zitat:
|
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
Hallo,
ganz kurzer Blick in eine ![]() Ich gehe also davon aus, dass es in der DB richtig ist und nicht richtig umgewandelt wird. Gruß, Chris |
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
Zitat:
![]() Im Stand-Alone-TDBLookUpCombo dagegen wird alles richtig angezeigt, egal ob Jedi- oder Original-Komponente. Jetzt alle Klarheiten beseitigt :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz