On 24/10/12 2:25, Marcos Douglas wrote:
In the example below, running on Windows: The name of file, after saved, is "atenção.txt" but the content is "atenção". I understand the filename, i.e, I need to use UTF8ToSys but I do not understand the valid content.procedure TForm1.Button1Click(Sender: TObject); var lStrings: TStrings; begin lStrings := TStringList.Create; lStrings.Text := 'atenção'; lStrings.SaveToFile('c:\atenção.txt'); lStrings.Free; end;
Internally the LCL uses only UTF8 encoding, so stringlists etc. all expect strings in that encoding and process them correctly when supplied (as here) with a string from the IDE Editor which is also UTF8. However the streaming code in SaveToFile eventually calls some Windows system routine which does not handle UTF8 and so requires conversion from the UTF8 filename to be correctly handled.
Howard -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
