ich habe da wie ich meine ein Unicode/UTF-8 Problem.
Folgende Verzeichnisse existieren (win7 64bit):
1. C:\LüCrosé, водка and ούζο\test.xml
2. C:\üäöß\test.xml
3. C:\LüCrosé,\test.xml
Das Lesen der Datei test.xml aus 2. und 3. funktioniert fehlerfrei.
Hingegen das Lesen aus 1. endet mit dem Fehler "Unable to open file "C:\LüCrosè, ????? and ????\test.xml"."
Tests mit FileExistsUTF8 und den oben angegebenen Dateien funktioniert mit allen Pfaden.
Kann mir jemand einenTipp geben woran das liegen könnte und in welche Richtung ich eine Lösung finden könnte.
Danke schon mal für Eure Hilfe.
Testprogramm: FPC:2.6.2; Laz: 1.0.12
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Dom, XMLRead;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var xmldoc: TXMLDocument;
begin
ReadXMLFile(xmldoc, UTF8Decode(Edit1.Text));
xmldoc.Free;
end;
end.