Unicodeテキストファイルについて


ぴょん吉  2016-03-12 21:51:32  No: 48079

こんにちは。
テキストファイルでは問題ないのですが
Unicodeテキストファイルを
ReadLn関数で一行読み込むと
文字化けしています。
以下が異常な値が取得されるコードです。
************************************
procedure TForm1.Button1Click(Sender: TObject);
var
  FName: String;
  LoadText: String;
  ltf: TextFile;
begin
    // テキストファイル読み込み
    AssignFile( ltf, 'C:\TEMP\TEST.INI');
    Reset(ltf );
    while not Eof(ltf ) do
    begin
        Readln(ltf, LoadLine );
    end;
    CloseFile(ltf );
end;
************************************

Unicodeテキストファイルはテキストファイルと同じ関数では読めないのでしょうか。

Delphi XE5
Windows 8.1


Mr.XRAY  2016-03-13 02:41:48  No: 48080

次のような記事が参考になりませんか ?

[この掲示板の過去ログを TextFile Readln で検索した結果]
https://www.google.co.jp/search?q=TextFile+Readln&ie=Shift_JIS&oe=Shift_JIS&hl=ja&btnG=%83T%83C%83g%93%E0+%8C%9F%8D%F5&sitesearch=hpcgi1.nifty.com%2FMADIA%2FDelphiBBS%2Fwwwlng.cgi&gws_rd=ssl

[テキストファイルに追記する方法 - 山本隆の開発日誌]
http://www.gesource.jp/weblog/?p=5003

[DelphiのTStreamReaderでテキストファイルを一行ずつ読み込む | 山本隆の開発日誌]
http://www.gesource.jp/weblog/?p=5125

[Delphi 2009 以降とファイル処理]
http://ht-deko.com/tech015.html

[TEncodingとテキストの入出力 - Delphi 2009 特集]
http://www.watercolor-city.net/ct_delphi/delphi_tiburon/doc_unicode/tencoding_textio.htm

[How to read Unicode text files - delphiDabbler.com]
http://delphidabbler.com/tips/168

[883] [10_TFileStream, TextFile ( Readln ) を使用する方法]
の Button3Click のコード
http://mrxray.on.coocan.jp/Delphi/plSamples/883_CodePageTextFile.htm#10


Mr.XRAY  2016-03-13 02:45:44  No: 48081

[この掲示板の過去ログを TextFile Readln で検索した結果]
URL はコピーしてください.

[883] [10_TFileStream, TextFile ( Readln ) を使用する方法]
の Button3Click のコード
スミマセン.末尾に空白が入っていました.

http://mrxray.on.coocan.jp/Delphi/plSamples/883_CodePageTextFile.htm#10


Mr.XRAY  2016-03-13 02:50:48  No: 48082

>テキストファイルでは問題ないのですが
>Unicodeテキストファイルを

「Unicodeテキストファイル」だってテキストファイルです.
この場合は,コードページが「Unicode」のテキストファイルということになります.

「コードページ」の意味はネットで調べてください.


DEKO  2016-03-14 14:52:20  No: 48083

XE2 以降なら AssignFile() に CodePage パラメータが増えていますので
それを使ってみてはいかがでしょう?
http://docwiki.embarcadero.com/Libraries/ja/System.AssignFile


Mr.XRAY  2016-03-14 20:46:58  No: 48084

>XE2 以降なら AssignFile() に CodePage パラメータが増えていますので
>それを使ってみてはいかがでしょう?

失礼しました.Delphi XE5 でしたね.
当サイトの Readln のコードでは文字化けします.
サンプル Delphi XE2 以降用の参考コードを追加しておきました.


DEKO  2016-03-15 00:22:02  No: 48085

> サンプル Delphi XE2 以降用の参考コードを追加しておきました.
相変わらず仕事が早いですね (^^;A


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加