Delphi 2007 には、メモの内容をテキスト ファイルに書き込んでロードするアプリケーションがあります。TMemo charset が AnisCharSet に設定され、プロジェクト オプションでランタイム テーマを有効にする --> アプリケーションがオフになっています。ロードされるコンテンツは、ウムラウト文字を含むこの「möglich」のようなものです。このアプリケーションは Delphi 2007 で正常に動作し、テキスト ファイルに書き込み、読み込んでコンテンツを正しく表示します。ファイルへの書き込み中に、メモはウムラウト文字列をこの「mцchten」のように変換し、メモがそれをロードして戻すと、正しく表示されます。
同じアプリケーションを delphi xe2 にアップグレードしましたが、メモがファイルからテキストをロードするときに、正しく表示されません。つまり、ウムラウト文字列を「möglich」として表示する代わりに、「mцchten」という変換が表示されます。 Delphi 2007 での発生は、Delphi xe2 でウムラウト文字を表示するときに発生しないようです。
Delphi xe2アプリケーションでもウムラウト文字を適切に表示するために何ができるかを提案できますか? memo の savetofile オプションと loadfromfile オプションがエンコードなしで使用されているだけです。Xe2 では、ランタイム テーマがオフになり、メモのフォント文字セットはまだ Ansi のままです。
ここでの問題は、delphi 2007 アプリケーションを使用して保存された delphi xe2 アプリケーションのテキスト ファイルから文字を読み込んで表示することです。