「ファイルをansiエンコーディングとして読み取ることができません」を定義します—fconfigure
コードスニペットのように呼び出すときにエラーが発生しますか?または何?
必要なエンコーディングを利用できますか?はいと思わencoding names
れますが、インタプリタで実行して確認してください。
発生する可能性のある他の問題(よくわかりません)は、fconfigure $fd -encoding CP1250
Tclを実行すると、読み取られたデータ$fd
が「CP1250」Windowsコードページでエンコードされていると解釈し、Tclの内部エンコードに変換することです。 UTF-8。したがってtdom
、UTF-8でエンコードされたバイトのストリームが本当に必要な場合は、ファイルから読み取ったものを明示的にUTF-8に変換する必要があります。あなたはこれを行うことができます:
set fd [open $filename]
fconfigure $fd -encoding cp1250
set data [encoding convertto utf-8 [read $fd]]
tdom whatever $data
あなたが試みることができるもう一つのアプローチは、ファイルをバイナリとして読み取ることです(その内容の解釈なしで、そしてあなたが望む方法でそれを再エンコードします):
set fd [open $filename]
fconfigure $fd -translation binary
set data [encoding convertto utf-8 [encoding convertfrom cp1250 [read $fd]]]
tdom whatever $data
PS次回は本当の問題は何か説明してください。いくつかの奇妙な理由で、人々は実際のエラーメッセージは関連性がないと考える傾向がありますが、それは実際には最も重要な情報です。