Umlaute?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

Umlaute?

Beitragvon Koloss » 17. Jan 2018, 10:17 Umlaute?

Hallo,

ich lese eine ini-datei aus mit ini.readstring und bekomme es nicht hin die umlaute('ö', 'ä', usw) korrekt auszulesen und in ein label zu schreiben.
habe es mit utf8encode und utf8decode versucht.
RasPi 3 - Raspbian - Lazarus 1.9.0 - FPC Version 3.0.2 - SVN-Revision 55971 - arm-Linux-gtk2
Koloss
 
Beiträge: 20
Registriert: 18. Sep 2017, 16:51

Beitragvon theo » 17. Jan 2018, 10:19 Re: Umlaute?

Koloss hat geschrieben:Hallo,

ich lese eine ini-datei aus mit ini.readstring und bekomme es nicht hin die umlaute('ö', 'ä', usw) korrekt auszulesen und in ein label zu schreiben.
habe es mit utf8encode und utf8decode versucht.


Da müsste man wissen, welche Kodierung die Ini-Datei hat.
theo
 
Beiträge: 8051
Registriert: 11. Sep 2006, 18:01

Beitragvon Koloss » 17. Jan 2018, 10:23 Re: Umlaute?

Ich erstelle sie über lazarus mit:
ini := TiniFile.Create(path);
RasPi 3 - Raspbian - Lazarus 1.9.0 - FPC Version 3.0.2 - SVN-Revision 55971 - arm-Linux-gtk2
Koloss
 
Beiträge: 20
Registriert: 18. Sep 2017, 16:51

Beitragvon theo » 17. Jan 2018, 10:52 Re: Umlaute?

Da musst du gar nichts umwandeln.
So geht bei mir: (Lazarus 1.9.0 r57100 FPC 3.0.0 x86_64-linux-gtk2)

Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
const Path='/home/theo/test.ini';
var
  ini: TIniFile;
begin
  ini := TiniFile.Create(Path);
  ini.WriteString('eins','test1','pöäeter');
  ini.Free;
  ini := TiniFile.Create(Path);
  Label1.Caption:=ini.ReadString('eins','test1','');
  ini.Free;
end;   
theo
 
Beiträge: 8051
Registriert: 11. Sep 2006, 18:01

Beitragvon Mathias » 17. Jan 2018, 16:16 Re: Umlaute?

ich lese eine ini-datei aus mit ini.readstring und bekomme es nicht hin die umlaute('ö', 'ä', usw) korrekt auszulesen und in ein label zu schreiben.

Ist diese eine bestehende INI-Datei, oder hast du sie selbst mit deinem Programm erzeugt ?
Wen sie mit einem Fremd-Programm erzeugt wurde, kann es schon ein Kodierungs-Problem sein.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon theo » 17. Jan 2018, 17:09 Re: Umlaute?

Mathias hat geschrieben:
ich lese eine ini-datei aus mit ini.readstring und bekomme es nicht hin die umlaute('ö', 'ä', usw) korrekt auszulesen und in ein label zu schreiben.

Ist diese eine bestehende INI-Datei, oder hast du sie selbst mit deinem Programm erzeugt ?
Wen sie mit einem Fremd-Programm erzeugt wurde, kann es schon ein Kodierungs-Problem sein.


Hat er doch oben schon gesagt? :roll:
theo
 
Beiträge: 8051
Registriert: 11. Sep 2006, 18:01

Beitragvon Mathias » 17. Jan 2018, 17:27 Re: Umlaute?

Hat er doch oben schon gesagt? :roll:
Es kommt darauf an, wie man es interpretiert. Zuerst schreibt er, "eine". Weiter unten hat er ein "Create", aber dies braucht mach auch nur um zu lesen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon compmgmt » 18. Jan 2018, 17:49 Re: Umlaute?

Du hast die INI-Datei wahrscheinlich mit dem Windows Editor erstellt. Um das bestehende Problem zu lösen, Datei mit dem Editor öffnen -> Speichern unter -> "UTF-8" ganz unten auswählen -> Speichern und alte Datei überschreiben. In Zukunft dann am besten durch Lazarus mittels TIniFile.Create() erstellen lassen.
Der Prozesseinstiegspunkt "SignaturLaden" in Signatur.dll konnte nicht gefunden werden.
compmgmt
 
Beiträge: 312
Registriert: 25. Nov 2015, 17:06
Wohnort: in der Nähe von Stuttgart
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4 | 
CPU-Target: i386 + x86_64
Nach oben

Beitragvon Mathias » 18. Jan 2018, 17:59 Re: Umlaute?

In Zukunft dann am besten durch Lazarus mittels TIniFile.Create() erstellen lassen.

Noch besser, wen es irgendwie geht, versuche ich bei solchen Sachen auf Umlaute zu verzichten. Dazumal mit Turbo-Pascal meinte man auch wen man öäü verwendete, das dies in 20 Jahre immer noch problemlos geht.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon theo » 19. Jan 2018, 10:57 Re: Umlaute?

Mathias hat geschrieben:Noch besser, wen es irgendwie geht, versuche ich bei solchen Sachen auf Umlaute zu verzichten.

Genau! https://www.youtube.com/watch?v=Oqcl_3WbLIo
theo
 
Beiträge: 8051
Registriert: 11. Sep 2006, 18:01

Beitragvon MacWomble » 20. Jan 2018, 06:50 Re: Umlaute?

Habe meinen Beitrag gelöscht, da falscher Thread
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
MacWomble
 
Beiträge: 520
Registriert: 17. Apr 2008, 00:59
Wohnort: Freiburg
OS, Lazarus, FPC: Mint 18.3 Cinnamon / CodeTyphon Generation V Plan 6.60 (FPC 3.1.1 Rev 39389) | 
CPU-Target: Intel i7 64/32 Bit
Nach oben

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron
porpoises-institution
accuracy-worried