[GELÖST] Sonderzeichen wird nicht korrekt ausgegeben

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Ich934
Lazarusforum e. V.
Beiträge: 114
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.0.4)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

[GELÖST] Sonderzeichen wird nicht korrekt ausgegeben

Beitrag von Ich934 »

Hallo,

ich habe mal wieder eine komische Frage wo ich nicht verstehe, warum das Programm das so macht wie es es macht. ;-)

Ich lese einen Wert aus einem Bestandsprogramm aus einer .ini-Datei ein. Das funktioniert so weit auch. Hier mal der Quellcode mit den relevanten Zeilen

Code: Alles auswählen

 
var
 FKopfzeile: string;
...
 
var
  IniFile: TIniFile;
begin       
...
      IniFile := TIniFile.Create('Datei.ini');
      try
        FKopfzeile := IniFile.ReadString('Einstellungen', 'Kopfzeile', '');
        ckbKopfzeile.Caption := 'Kopfzeile erzeugen (' + FKopfzeile + ')';
...
      finally
        IniFile.Free;
      end;
...


Interessant ist jetzt die Variable FKopfzeile, welche vom Typ string ist. In meinem Testfall habe ich jetzt ein Copyright zeichen in dem einzulesenden String enthalten.

  • Inhalt in der .ini-Datei: © Name
  • Inhalt in der FKopfzeilen Variable: #169' Name'
  • Ausgabe im Label: ? Name

169 ist der Wert für das Copyright-Zeichen. Das wird also korrekt eingelesen. Die Ausgabe klappt jedoch nicht. Warum?

Vielen Dank schon einmal.
Zuletzt geändert von Ich934 am Di 25. Feb 2020, 20:40, insgesamt 1-mal geändert.
Tipp für PostgreSQL: www.pg-forum.de

Benutzeravatar
theo
Beiträge: 8334
Registriert: Mo 11. Sep 2006, 19:01

Re: Sonderzeichen wird nicht korrekt ausgegeben

Beitrag von theo »

Das Inifile liegt wahrscheinlich nicht in UTF-8 vor.
Du kannst die Vorschläge von hier testen: https://forum.lazarus.freepascal.org/in ... ic=35033.0
(CP1250ToUTF8 oder ConvertEncoding)

Ich934
Lazarusforum e. V.
Beiträge: 114
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.0.4)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: Sonderzeichen wird nicht korrekt ausgegeben

Beitrag von Ich934 »

CP1250ToUTF8 war des Rätselslösung! Danke!

Manchmal kann das alles so einfach sein...
Tipp für PostgreSQL: www.pg-forum.de

Antworten