![]() |
Datenbank: FireBird • Version: 2.1 • Zugriff über: IBX und UIB
IBX/UIB : Firebird mit Characterset ISO8859_1 und das Eurozeichen in Unicode-Delphi
Hallo,
ich habe folgendes Problem: Beim Zugriff auf eine Firebird-Datenbank mit dem Zeichensatz ISO8859_1 wird das Eurozeichen mit Delphi-XE-Compilaten (XE2 ebenso) aus Textdatenfeldern nicht ausgelesen. Das ist mit den Datenzugriffskomponenten IBX und UIB der Fall. Ursache bei beiden ist die Verwendung der API-Funktion MultiByteToWideChar mit Übergabe der Codepage 28591. Diese Funktion konvertiert den Wert $80 nicht in den korrekten Wert #$20AC für das Eurozeichen im Unicode sondern macht #$0080 daraus (mit einer Null als Parameter "Codepage" klappt es). Mir stellt sich jetzt die Frage, wie man das Problem lösen kann :? Die Datenbank auf Unicode umstellen? Die Datenzugriffskomponenten anpassen? Oder kennt jemand eine einfachere Lösung? Vorschläge àla "EUR" statt dem Eurozeichen helfen nicht, weil der Kunde nun mal das Eurozeichen in Notizen oder Bemerkungen oder dergleichen eintragen möchte. |
AW: IBX/UIB : Firebird mit Characterset ISO8859_1 und das Eurozeichen in Unicode-Delp
Zitat:
![]() Als Alternative zur Unicode-Umstellung ist eine Änderung des Zeichensatzes auf ISO 8859-15 (oder eventuell Windows 1252) möglich - diese enthalten das Eurozeichen und weitere Sonderzeichen westeuropäischer Sprachen. Die einschlägigen Sicherheitsmaßnahmen sollten natürlich getroffen werden (z.B. ein vorheriger ausgiebiger Test der Umstellung in einer Testdatenbank...) |
AW: IBX/UIB : Firebird mit Characterset ISO8859_1 und das Eurozeichen in Unicode-Delp
Ok, das erklärt, warum die Codierung fehlschlägt.
Unter Delphi 2009 und IBX funktioniert es übrigens, weil dort die Codepage einfach nicht unterstützt wird. Also ein Bug, der zu einem korrekten Ergebnis führt. Schade, ich hatte gehofft, dass es eventuell einen simplen Trick gibt, das Problem zu umschiffen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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