Autor Beitrag
athen
Hält's aus hier
Beiträge: 4

Win 2000, Win NT
D3
BeitragVerfasst: Di 16.03.04 17:59 
Hallo alle zusammen!

Ich möchte mit Delphi 3 über ODBC aus einer Informix DB einen Text herausholen.
Dieser Text beinhaltet Umlaute.

Bei dem Win2000 PC funktioniert alles bestens. Ich erhalte alle Umlaute korrekt.
Bei dem PC mit WinNT ServicePack 5 bekomme ich lauter €-Zeichen zurück.

Liegt das an Delphi, am ODBC-Treiber oder am Betriebssystem?

Hat jemand eine Lösung?
Für Eure Hilfe vorab besten Dank.
atarigold
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 84

WIN XP, Linux 2.4
D7, Delphi 2006 Prof
BeitragVerfasst: Di 16.03.04 22:22 
Meine Erfahrungen mit Informix (Informix SE) liegen schon ein paar Jahre zurück, insofern weiß ich nicht, ob dir das folgende wirklich weiterhilft.
Aber das Umlautproblem ist vermutlich auf Unterschiede in den verwendeten Zeichensätzen zurückzuführen.
Informix SE (vielleicht auch neuere Versionen) verwendet intern den Zeichensatz Roman-8. Unterschied zwischen diesem und dem WinNT-Zeichensatz ist die Position der Sonderzeichen (auch Umlaute), die dann unter Windows falsch oder gar nicht dargestellt werden, wenn der Treiber nicht für eine korrekte Umsetzung sorgt.
Ich konnte damals das Umlautproblem sehr einfach mit HIlfe der BDE lösen, indem ich in den BDE-Einstellungen für langdrv = Roman-8 ausgewählt habe. Die BDE übernimmt dann die Umsetzung auf den Win-Zeichensatz bzw. umgekehrt.
athen Threadstarter
Hält's aus hier
Beiträge: 4

Win 2000, Win NT
D3
BeitragVerfasst: Mi 17.03.04 13:54 
Hallo atarigold!

Danke für Deinen Tipp, der war Gold wert!

Bei langdriver="SQL Link ROMAN8" hat sich das Ergebnis zwar verändert, aber die Umlaute waren nicht korrekt dargestellt.
Ich habe bei langdriver etwas "gespielt" und mehrere Varianten ausprobiert.
Bei langdriver="DB2 SQL ANSI DEU" hat alles bestens funktioniert.

So ein Forum ist wirklich praktisch.

Danke!


:D :D :D