次の行で始まる UTF-8 テキスト ファイルがあります。
<HEAD><META name=GENERATOR content="MSHTML 10.00.9200.16521"><body>
このファイルをTFile.ReadAllText
TEncoding.UTF8 で読み取ると、次のようになります。
MyStr := TFile.ReadAllText(ThisFileNamePath, TEncoding.UTF8);
次に、テキスト ファイルの最初の 3 文字が省略されるため、MyStr の結果は次のようになります。
'AD><META name=GENERATOR content="MSHTML 10.00.9200.16521"><body>...'
TFile.ReadAllText
ただし、 TEncoding.UTF8 なしでこのファイルを読み取ると、次のようになります。
MyStr := TFile.ReadAllText(ThisFileNamePath);
その後、ファイルは完全かつ正しく読み取られます。
<HEAD><META name=GENERATOR content="MSHTML 10.00.9200.16521"><body>...
TFile.ReadAllText
バグがありますか?