Autor |
Beitrag |
Barret
      
Beiträge: 156
Erhaltene Danke: 1
Win XP
D7 Ent
|
Verfasst: Mi 10.11.10 18:23
Hallo!
Ich habe ein Problem beim speichern von Einträgen einer ListBox.
Das speichern an sich und die Verwendung ist kein Problem.
Ich habe das Problem das Umlaute nicht richtig in die Datei übernommen werden.
Während des Arbeitens mit den einzelnen Werten der Datenbank habe ich kein Problem.
Die einzelnen Werte für die Einträge der Listbox werden in Ihr auch korrekt mit Umlauten dargestellt im Programm.
Erst wenn der Export erfolgt werden z.B. aus einem ü ein schwarzes Viereck mit einem Fragezeichen (glaube ich zumin.). Ist die Standard Umformung von Umlauten.
Hat jemand eine Idee wie ich das umgehen kann?
Ich möchte ungern nach dem speichern nen suchen und ersetzen für alle umlaute durchführen und direkt zu dem Problem habe ich gerade nichts gefunden.
_________________ Wir könnten ja, wenn wir wollten aber wir wollen ja nicht.
It´s not a bug, it´s a feature.
|
|
Georg08
      
Beiträge: 155
Erhaltene Danke: 6
Win XP
Delphi 7.0 Personal
|
Verfasst: Mi 10.11.10 18:39
Also ich habe aus Neugierde jetzt ein Programm geschreiben dass aus einer ListBox Einträge speichert und wieder lädt...
Ich bin auf keine Probleme gestoßen und Umlaute weden mir sowohl in der Listbox als auch im Editor angezeigt...
Vielleicht postest du mal deinen Code
|
|
Barret 
      
Beiträge: 156
Erhaltene Danke: 1
Win XP
D7 Ent
|
Verfasst: Mi 10.11.10 18:44
Hmm ...
Code Posten wär zu viel (gr. Datenbank Abfragen, Schleifen, Verzweigungen, ...).
Ich habe es ebend auch mal probiert wenn ich die Inhalte in eine ".txt"-File schreibe. Sihe da alles gut! (Hätt ich auch schon mal früher machen können.)
Ich schreibe die Daten in eine ".xml"-File. Dabei habe ich das genannte Problem.
_________________ Wir könnten ja, wenn wir wollten aber wir wollen ja nicht.
It´s not a bug, it´s a feature.
|
|
Georg08
      
Beiträge: 155
Erhaltene Danke: 6
Win XP
Delphi 7.0 Personal
|
Verfasst: Mi 10.11.10 18:50
Dennoch ist das seltsam...
Wie speicherst du denn?
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mi 10.11.10 20:40
Ist die Klasse/der Code, die/den du für das XML-File schreiben benutzt, denn für Umlaute ausgelegt? Wie werden die ggf. darin kodiert (ANSII? UTF8? UTF16?), oder einfach als ungültiges Zeichen ignoriert?
_________________ We are, we were and will not be.
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 10.11.10 20:40
Fragt sich ob du den Zeichensatz und die entsprechende Dokumentbeschreibung in der XML-Datei richtig setzt. Aber ohne Code können wir dazu nichts sagen. 
|
|
Barret 
      
Beiträge: 156
Erhaltene Danke: 1
Win XP
D7 Ent
|
Verfasst: Do 11.11.10 09:58
Morgen,
den Teil in dem ich die ListBox zusammenbaue is denke ich mal nicht interressant.
Die Datenbank (Tabellen, ...) sind auf UTF8 eingestellt.
Und den File-Export mach ich eigentlich relativ stumpf:
Delphi-Quelltext 1:
| Listbox.Items.SaveToFile(SaveDialog.FileName); |
Mit der vorgabe der XML Versionen kann es eig nix zu tun haben?!
XML-Daten 1:
| <?xml version="1.0" encoding="UTF-8" ?> |
EDIT:
Ich habs grad mal mit ner Stringlist probiert um das ganze leichter für mich nachzuvollzihen.
Das Problem liegt wirklich am zufügen der 1. Zeile (in der File):
XML-Daten 1:
| <?xml version="1.0" encoding="UTF-8" ?> |
Jemand eine Idee. Ich wollte das eig. nich als txt speichern und dann umbenennen müssen ...
_________________ Wir könnten ja, wenn wir wollten aber wir wollen ja nicht.
It´s not a bug, it´s a feature.
|
|
pwsolaris
      
Beiträge: 71
Erhaltene Danke: 1
MS DOS, Win 95, Win 98, Win ME, Win XP, Win Vista, Win 7 Ultimate
Delphi 5 Enterp., Delphi 2007, Delphi 2009, Informix 4GL, VB .NET, MS/SQL, PL/SQL
|
Verfasst: Do 11.11.10 12:20
Hallo,
so ein ähnliches Problem habe ich auch letztens behoben (allerdings nicht in Delphi).
Mir hat es geholfen, den Ordinal-Wert der Buchstaben zu prüfen und dann den Umlaut mit einem ASCII Wert zu ersetzen.
Ich hatte das Problem, dass Umlaute von Linux-Rechnern auf einem AIX System nicht richtig angezeigt wurden und von diesem AIX System musste ich ein weiteres mal konvertieren um die Umlaute auf einem Windwos-PC anzeigen zu können.
|
|