![]() |
Delphi-Version: XE4
UTF(Encode codiert nicht richtig
Hi!
Scheinbar codiert UTF8Encode bei XE4 nicht richtig. Hier erstmal mein Code (die kyrillischen Zeichen sind zufäälig gewählt):
Delphi-Quellcode:
Dabei kommt der folgende UTF8-String heraus:
var
S: RawByteString; SU: UnicodeString; begin SU:= 'апрвулв'; S:= UTF8Encode(SU); SetCodePage(S, 0, FALSE); SU:= S;
Code:
Wenn ich den rein testweise mal durch
апÑ?вÑ?лв
![]() Wo liegt da jetzt der Fehler? Grüße Cody |
AW: UTF(Encode codiert nicht richtig
Liste der Anhänge anzeigen (Anzahl: 1)
Code:
[edit]
апÑ?вÑ?лв < dein Programm/Post
апрвулв < die Webseite vor dem Posten, waren die Zeichen € und ƒ noch nicht sichtbar und wurden erst durch die DP dahingehend umgewandelt. Also k.A. welche Zeichen das jetzt wirklich sind. Anhang 41301 [/edit] ? = vermutlich kann das Zeichen nicht für die Anzeige umcodiert werden, drum macht Delphi da ein "?" draus, während die Webseite das Zeichen einfach weglässt. Zitat:
Wenn auf der Webseite nun auch wieder von Unicode in die selbe ANSI-Codepage umcodiert würde, dann könnte es allerdings passen. An dem ¿ und » hättes man eigentlich erkennen können, daß es sich hierbei nicht mehr um die Zeichencodes, im Unicodebereich von 0 bis 255 handelt.
Delphi-Quellcode:
Aber es kommt halt auch noch darauf an, ob und welche Umcodierung dein Webbrowser und deren En-/Decoding-Funktion besitzt.
SetCodePage(S, $FFFF, FALSE); // $ffff=Raw
|
AW: UTF(Encode codiert nicht richtig
Manchmal wünschte ich, seit Konrad Zuse wären alle Rechner immer mit Unicode gelaufen. Dann wär nie einer auf die Idee gekommen, so ein Binärchaos zu veranstalten ;-)
In meinem Fall war die Ursache allen Ärgers was ganz Banales: Eine Komponente war von mir in der IDE auf einen UTF8-Header eingestellt, hat aber irgendwo auf dem Weg zur Textausgabe den Header einfach auf einen Leerstring gestellt. Folglich bekam der Client vom Server eine Antwort die nicht explizit als UTF8 gekennzeichnet war und fiel sicherheitshalber auf ANSI zurück :evil: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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