![]() |
Unicode probleme
Hallo,
Ich habe folgendes Problem: Ich möchte aus einem XML file einzelne Strings auslesen, welche chinesische symbole enthalten. Wenn ich mir das XMLFile ausgeben lasse (z.b. im Debugger oder log file), dann werden die symbole auch korrekt dargestellt. Wenn ich jedoch die XML struktur über die Nodes auslese, dann werden gewisse symbole durch Fragezeichen (?) ersetzt (allerdings nur ein paar wenige). Hat jemand eine idee woran das liegen kann? folgendermassen lese ich die nodes aus.
Delphi-Quellcode:
Wenn ich Debugger auf dem Attributes bin, dann sehe ich noch dir korrekten Symbole. In der Variable lStr sind anschliessend allerdings teilweise Fragezeichen enthalten.
XMLReader.LoadFromStream(TStringStream.Create(XMLFilte)) //XMLReader ist TXMLDocument
. . . lStr := Node.Attributes['value']; // Node ist IXMLNode Ich habe auch schon probiert das ganze einem WideString zuzuweisen, allerdings funktionierts dann gar nicht mehr. |
Re: Unicode probleme
Welchen Typ hat lStr?
|
Re: Unicode probleme
Ist ein normaler String.
|
Re: Unicode probleme
Zitat:
Bis dorthin mußt du WideString nehmen. Und lass dich nicht von der IDE verwirren. Erste neuere (D2005/...) IDE Versionen zeigen Widestrings auch korrekt als Widestrings und nicht nur als Strings an. |
Re: Unicode probleme
Es scheint aber trotzdem auch mit Strings zu funktionieren. Wie gesagt sehe ich die chinesischen symbole auf meiner oberfläche es gibt lediglich ein paar symbole welche das IXMLNode (oder wahrscheinlich eher das TXMLDocument) nicht ausgeben können. Wenn ich den parser selber schreiben würde, dann würde es funktionieren!
Allerdings möchte ich das rad nicht neu erfinden.... |
Re: Unicode probleme
Verwendest du VCL.NET oder WinForms?
Dort ist schon String Unicodeenabled. Und was siehtst du bei den nicht ausgebbaren Zeichen? Hier hat vermutlich der Verwendete Font kein Zeichen vorhanden! |
Re: Unicode probleme
Also ich verwende die Standard TLabels (winforms). Also ich sehe die chinesischen Symbole und zwischen drin hat es manchmal Fragezeichen (?) anstelle des korrekten symbols. Das mit der Schrift kann ich mir nicht so richtig vorstellen, da ich es ja z.b. im logfile oder debugger richtig sehe. somit müsste die schriftart im windows installiert sein. (habe übrigens die sprachzusätze für asisatische sprachen installiert und regional settings umgestellt)
|
Re: Unicode probleme
Zitat:
Zitat:
|
Re: Unicode probleme
Ok jetzt habe ich dich falsch verstanden. Ich verwende Delphi (win32) und benutze die Standard TLabels komponente
|
Re: Unicode probleme
das wegen dem codepage dachte ich auch schon. kann es am encoding vom XML file liegen?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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