![]() |
UniCode nach UTF8
Hallo zusammen, ich arbeite gerade an einem Projekt, welches Strings in eine SQLite3 Datenbank schreiben muss (Anbindung an Thunderbird Lightning).
Statt Umlauten kommen irgendwelche Sonderzeichen in Lightning. Wird wohl mit der Kodierung zu tun habe. Meine Strings liegen als Delphi-Standardstring vor (Unicode in XE2???), die SQLite DB verwendet UTF8. Wie konvertiere ich richtig? Mein Ursprungsstring ist vom Typ String (=Unicodestring?), mein Zielstring habe ich als Typ UTF8String definiert. Der Befehl zielstring := UTF8Encode(ursprungsstring) scheint irgendwie gar nichts zu tun. Hab grad keine Idee mehr. |
AW: UniCode nach UTF8
Welche Datenbank-Zugriffskomponenten setzt du ein?
Oftmals kann man da die Zeichensatz konvertierung einstellen, so dass sie für den Programmierer transparent ist. |
AW: UniCode nach UTF8
Zitat:
Geht über eine DLL namens SQLite3.dll. |
AW: UniCode nach UTF8
Zitat:
|
AW: UniCode nach UTF8
Wenn "zielstring" ein "String" ist, dann wird implizit wieder zurück konvertiert. :angle2:
AnsiString, bzw. UTF8String |
AW: UniCode nach UTF8
Zitat:
![]() |
AW: UniCode nach UTF8
Zitat:
|
AW: UniCode nach UTF8
Zitat:
Hilfe: Enthält deine Unit in Zeile 13 {$H+} (* use AnsiString *) hast du die AnsiVersion. Ich habe die Units ![]() |
AW: UniCode nach UTF8
Zitat:
Und ich denke mal der Kommentar ist "falsch", bzw. hat garnichts mit Unicode zu tun, denn
Delphi-Quellcode:
ist seit Jahrzehnten Standard, also ein weiteres {$H+} macht keinen Unterschied.
{$H+}
Turbo Pascal und Delphi 1 : String=ShortString (LongString gab es noch nicht)
Delphi-Quellcode:
aka
{$H+}
Delphi-Quellcode:
: String=LongStrings (AnsiString, bzw. seit D2009 UnicodeString)
{$LONGSTRINGS ON}
Delphi-Quellcode:
aka
{$H-}
Delphi-Quellcode:
: String=ShortStrings (was jetzt der Typ ShortString, sowie string[123] )
{$LONGSTRINGS OFF}
ShortString = Record LongString = mit internem Zeiger PS: "Long", da mehr als 255 Chars möglich :zwinker: {$H} sollte seit Jahrzehnten nicht mehr verwendet werden und existiert nur zur Abwärtskompatibilität für extrem uralten Code. ![]() |
AW: UniCode nach UTF8
Zitat:
Mir persönlich, wäre die Unit von 2011 zu alt und ich würde mich nach alternativen umschauen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19: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-2025 by Thomas Breitkreuz