Delphi-PRAXiS
Seite 5 von 6   « Erste     345 6      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Unicode probleme (https://www.delphipraxis.net/119015-unicode-probleme.html)

Bernhard Geyer 20. Aug 2008 12:21

Re: Unicode probleme
 
Zitat:

Zitat von day
... es funktioniert auch wenn man richtiges Unicode verwendet

Es gibt nur ein Unicode! Was du evtl. hast ist entweder Codepage/Charset Krückenlösung oder du hast etwas z.B. in UTF8 gespeichert. Das ist aber auch Unicode und nur die persistenz entsprechend durchgeführt.

day 20. Aug 2008 12:25

Re: Unicode probleme
 
Zitat:

Zitat von mkinzler
Was verstehst du unter Zwischending? GGf richtiges Unicode in DB und Dateien verwenden

Ich habe eine bestehende Applikation. Der Datenbanklayer ist in c/c++ geschrieben und relativ alt. Was ich bis jetzt mache ist einfach. Man kopiert ein chinesisches symbol in ein Textfeld und speichert den Wert. Das chinesische symbol wird intern (Dblayer) als normaler char gespeichert benötigt allerdings doppelt soviel platz. In der datenbank wird der wert in einem nvchar gespeichert. Beim auslesen passiert wieder das selbe und das chinesische symbol wird anhand der 2 chars angezeigt. Das funktioniert soweit ganz gut. Jetzt macht allerdings der XML-parser probleme da er wahrscheinlich gewisse char nicht versteht oder falsch interpretiert.

day 20. Aug 2008 12:27

Re: Unicode probleme
 
Zitat:

Zitat von Bernhard Geyer
Es gibt nur ein Unicode!

Ja ich weiss. Ich habe mich in der vergangenheit einfach zu wenig klar ausgedrückt.

Bernhard Geyer 20. Aug 2008 12:28

Re: Unicode probleme
 
Ich tippe eher das auf dem WEg in die DB hier etwas zerschossen wird. Vermutlich wird im C-Programm auch varchars statt nvarchars erwartet und das kann je nach DB und Codepages des Clients/Connection/Servers auf unterschiedlichste Art und Weise die Daten verändern. Wenn schon Unicode dann sollte auch die DLL soweit erweitert werden das sie mit Widestrings arbeitet! Alles andere ist gepfusche!

Der XML-Parser wird zu 99,9% alles richtig machen - wenn er fehlerfreie Daten bekommt! Und das bezweifle ich!

day 20. Aug 2008 12:44

Re: Unicode probleme
 
Ja ich gebe dir recht, dass es sauberer wäre wenn man alles auf widestring umstellen würde. Aber dazu ist der aufwand viel zugross! Denn wie gesagt, wenn ich den xml-parser rausnehme und das File selber parse funktioniert alles. Nur muss ich halt das file selber auslesen. Ist aber definitiv weniger aufwändig.

Bernhard Geyer 20. Aug 2008 12:48

Re: Unicode probleme
 
Zitat:

Zitat von day
Ja ich gebe dir recht, dass es sauberer wäre wenn man alles auf widestring umstellen würde. Aber dazu ist der aufwand viel zugross! Denn wie gesagt, wenn ich den xml-parser rausnehme und das File selber parse funktioniert alles. Nur muss ich halt das file selber auslesen. Ist aber definitiv weniger aufwändig.

Dann noch viel Spaß mit Problemsuche die aufgrund einer schlechten halbherzigen Umsetzung passieren. Und hofft das ir in den nächsten 1-2 Jahren nicht mehr Supportaufwand/Workarounds habt als wenn ihr es gleich richtig machen würded.

Und ich hoffe für die anderen hier das sie niemals defekte XML von euch verarbeiten müssen.

day 20. Aug 2008 13:29

Re: Unicode probleme
 
Zitat:

Zitat von Bernhard Geyer
Und ich hoffe für die anderen hier das sie niemals defekte XML von euch verarbeiten müssen.

Das ist kein Problem, da ich xml nur intern als kommuniktions protocol verwende.

day 20. Aug 2008 13:37

Re: Unicode probleme
 
Zitat:

Zitat von day
Zitat:

Zitat von Bernhard Geyer
Und ich hoffe für die anderen hier das sie niemals defekte XML von euch verarbeiten müssen.

Das ist kein Problem, da ich xml nur intern als kommuniktions protocol verwende.


day 20. Aug 2008 14:13

Re: Unicode probleme
 
jetzt habe ich noch eine frage. und zwar habe ich das gleiche symbol einmal als ansi und einmal als unicode abgespeichert. Ich kann beide files im notepad/wordpad aufmachen und das chinesische symbol wird mir richtig angezeigt.

Im ANSI format lautet der Hex wert: D3 D0 Im unicode format: FF FE 09 67

Das symbol im unicode format (09 67) habe ich in einer unicode tabelle gefunden (und oh wunder es war sogar korrekt :-) ). In welcher codepage tabelle finde ich aber den ANSI wert?

mkinzler 20. Aug 2008 14:16

Re: Unicode probleme
 
Ab Win98 in Codepage 936


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 Uhr.
Seite 5 von 6   « Erste     345 6      

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