AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit Zeichensatz

Ein Thema von Cubysoft · begonnen am 12. Apr 2015 · letzter Beitrag vom 12. Apr 2015
 
Cubysoft

Registriert seit: 5. Sep 2014
Ort: Ludwigshafen
76 Beiträge
 
Delphi XE8 Professional
 
#1

Probleme mit Zeichensatz

  Alt 12. Apr 2015, 21:33
Hallo,

zur Erklärung meines Programms:

Mein Programm läd von einer Internetseite eine Datei herunter (unbekannter Zeichensatz). Nun läd mein Programm diese Datei in den Arbeitsspeicher.
(Problem besteht sowohl beim Laden der Datei über eine Stringlist (Stringlist.LoadFromFile) als auch über AssignFile -> Reset -> Readln)

Ich benutze als Speichermedium im Speicher eine Variable vom Typ String (müsste in XE7 also UnicodeString sein). Das Problem ist, dass mein Programm aus

"Éibhear Dunn" -> "Éibhear Dunn" macht. Also anscheinend ein Problem mit der Kodierung hat. Ich habe die Datei einfach mal in Notepad++ geöffnet und bekomme dort angezeigt, dass sie UTF8 kodiert ist. Ändere ich die Kodierung in notepad++ auf ANSI wird der genannte Text ebenso falsch dargestellt.

Ich selbst habe leider garkeine Ahnung von Kodierungen, bin also relativ überfragt, wie ich nun handeln muss. Ich habe schon versucht mit der Funktion UTF8Encode und anderen Funktionen, die ich so bei meiner Suche entdeckt habe zu arbeiten. Leider immer mit dem selben Ergebnis.


Was eventuell noch erwähnenswert wäre:

Der Zweck meines Programms ist es im Grunde, einen Text, den der Benutzer in ein Edit einträgt mit dem in der Datei zu vergleichen. Dazu habe ich einen kleinen Test durchgeführt:

Delphi-Quellcode:
var
 s: String;
 fs: String;
begin
 s := 'Éibhear Dunn';
 ShowMessage(s); {funktioniert: Ausgabe: Éibhear Dunn}
 ShowMessage(ed_test.Text); {funktioniert: Ausgabe: Éibhear Dunn -> manuelle Eingabe im Edit}

 //gekürzt
 fs := ReadLn(f,s);
 ShowMessage(s); {falsche Ausgabe, wie oben beschrieben}
end;
Ich hoffe ihr könnt mir helfen

EDIT:

Habe auch noch einige Tests durchgeführt. Ich habe einfach ein Memo die Datei laden lassen, über memo.lines.LoadFromFile. Auch hier zeigt er (wie zu erwarten) das falsche an. Kopiere ich den Text allerdings aus Notepad++ (Strg+C) und füge ihn im normalen Windows Editor ein (Strg+V) und speichere diese Datei, so ist die neue Datei lesbar. Allerdings zeigt mir Notepad beim öffnen auch an, dass die neue Datei nun ANSI kodiert ist.
Ich schließe deshalb daraus, dass Delphi nicht mit UTF8 Dateien umgehen kann.
Tobias

Geändert von Cubysoft (12. Apr 2015 um 22:04 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 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