Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi UTF8 Codierung Unterschiede Delphi zu C# (https://www.delphipraxis.net/150340-utf8-codierung-unterschiede-delphi-zu-c.html)

renekr 14. Apr 2010 10:22


UTF8 Codierung Unterschiede Delphi zu C#
 
Hi,
Ich habe soeben festgestellt das ich wenn ich zb.:
den String ( „Eco” ) mit Delphi in UTF8 codieren will folgendes bekomme mit der Funktion:

Delphi-Quellcode:
UTF8Encode('„Eco”');
Ergebniss: „Ecoâ€
Wenn ich das mit C# mache bekomme ich das:
âEcoâ

Leider muss ich den Text so in eine DB speichern das die C# Anwendung diesen auch 100% gleich auslesen kann.

Folglich macht mir C# aus dem Delphi UTF8 Code das hier.
�?zEco�?�

Alles andere funktioniert nur bei den Zeichen gibt es Probleme.

Kann mir ev. jemand helfen ?

Danke

Bernhard Geyer 14. Apr 2010 10:27

Re: UTF8 Codierung Unterschiede Delphi zu C#
 
Das Ergebnis âEcoâ ist definitiv keine UTF8-Darstellung für „Eco”.
Ich tipp eher darauf das für das Paar „ ” in C# eine Sondercodierung realisiert wurde. Diese musst du nachimplementieren:


Text -> UTF8 -> Ersetze „ mit â und †ebenfalls mit â -> Schreibe in DB

Beim Auslesen in Delphi dann der umgekehrte Weg (Wobei du Zählen mußt das wievielte â du gerade zurückwandelst).

himitsu 14. Apr 2010 10:30

Re: UTF8 Codierung Unterschiede Delphi zu C#
 
Sicher, daß du in C# das „Eco” auch in einem Unicode-String abgelegt hast?

Wenn der Speicherplatz/String/Puffer nur Ansi kann, dann passen da die „” nicht rein und werden in Ansi umgewandelt. Tja, und da es diese Zeichen in Ansi nicht gibt, sind es dort danach andere Ersatzzeichen und diese ergeben demnach auch andere UTF-8-Signaturen.

Jürgen Thomas 14. Apr 2010 10:40

Re: UTF8 Codierung Unterschiede Delphi zu C#
 
Nur der Vollständigkeit halber: Der Fragesteller benötigt die UTF8-Codierung und Zeichensätze für verschiedene Konvertierungen, siehe die bisherige Diskussion unter Probleme mit UTF-8 Code umwandeln in beide Richtungen. Dort stehen Hinweise zu weiteren Unklarheiten.

Gruß Jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz