AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Migration von Firebirdprojekt (Delphi 2006 nach delphi 2009)
Thema durchsuchen
Ansicht
Themen-Optionen

Migration von Firebirdprojekt (Delphi 2006 nach delphi 2009)

Ein Thema von FlatCoder · begonnen am 6. Okt 2009 · letzter Beitrag vom 13. Okt 2009
 
FlatCoder

Registriert seit: 18. Mai 2005
12 Beiträge
 
Delphi 2007 Professional
 
#1

Migration von Firebirdprojekt (Delphi 2006 nach delphi 2009)

  Alt 6. Okt 2009, 11:38
Datenbank: Firebird • Version: 2.1 • Zugriff über: UIBComponents
Hallo zusammen,

ich weis, es wurde schon so oft über UTF8 und Konvertierungsmöglichkeiten diskutiert.
Ich weis auch nicht, ob mein Fall neu ist oder ob ich bei Delphi 2006 bleioben MUSS weil es einfach nicht mehr funktioniert:

In einem betrieblichen Projekt habe ich UNICODE Zeichen nach Firebird 2.1 gespeichert.
Dazu verwendete ich eine Anwendung die in Delphi 2006 geschrieben war.
Gespeichert habe ich mit den TNT Komponenten (da WideString) und der Funktion UTF8Encode(<Variable>).
Dies ist auch wunderbar und mein FirebirdMaestro stellt mir alles sauber dar.

Zum dekodieren benutzte ich die Methode UTF8Decode(<Feldname>), um wieder alles in der TNTEdi darzustellen.

Nun bin ich vor einer ganzen Weile auf Delphi 2009 umgestiegen und die TNT Komponenten sollen ja um Himmels
Willen nicht mehr verwendet werden (Wegen WideString usw.)

Nun versuche ich, die Schriftzeichen wieder auszulesen und verwende (da nicht anders möglich) die Funktion:
UTF8ToString(<Feld>)

Die meisten Felder übernimmt er auch wunderbar und ich freute mich schon bis ich sah:
Bestimmte Felder, die ebenfalls UNICODE_FFS Formatiert sind (in Firebird) und EBENFALLS
mit UTF8Encode gespeichert wurden, werden fehlerhaft eingelesen. Es werden einfach Zeichen VERSCHLUCKT.
Ich weis echt nicht mehr weiter...
In Delphi 2006 macht er es ANSTANDSLOS mit der Funktion UTF8Decode. In Delphi 2009 tritt das genannte problem auf,
aber man soll ja UTF8Decode nicht mehr nehmen. Aber egal ob ich UTF8Decode oder UTF8ToString verwende,
Delphi 2009 verschluckt bei manchen Feldern einfach die Zeichen...

Wäre nett wenn jemand einen Tipp hätte, ansonsten arbeite ich beim alten Projekt mit der "alten" Version und neue
Projekte werden dann ohnehin mit Delphi 2009 gemacht, was aber laut Updatelizenzrecht nicht sein darf...
Die ganze Anwendung mit über 100.000 Programmzeilen möchte ich nicht unbedingt komplett von neuem beginnen
und die Datenbank ist mittlerweile so groß geworden, dass ich da nicht einfach irgendwie "migrieren" kann.

Naja bin gespannt auf eure Antworten.
Benötigt ihr Zeichenbeispuele und die Ergebnisse? Wenn ja lasst es mich wissen.

Bis dann

Ingo
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 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 by Thomas Breitkreuz