My input file(f) has some Unicode (Swedish) that isn’t being read correctly.
Neither of these approaches works, although they give different results:
LoadFromFile(f);
or
LoadFromFile(f,TEncoding.GetEncoding(GetOEMCP));
I’m using Delphi XE
How can I LoadFromFile some Unicode data….also how do I subsequently SaveToFile? Thanks
In order to load a Unicode text file you need to know its encoding. If the file has a Byte Order Mark (BOM), then you can simply call
LoadFromFile(FileName)and the RTL will use the BOM to determine the encoding.If the file does not have a BOM then you need to explicitly specify the encoding, e.g.
For some reason, unknown to me, there is no built in support for UTF-32, but if you had such a file then it would be easy enough to add a
TEncodinginstance to handle that.