2009-03-10 11 views
0

私がTXTにファイル次の文字列を記述する必要があります。System.IO.StreamWriteとスペイン語の文字

SEGS、AUS1,1,0,0,712205,584,8659094,2、ヌニェスFELIX ARTUROを、 584

私が使用します。

using (System.IO.StreamWriter sw = new System.IO.StreamWriter(@fileSobrantes, true)) { 
     sw.WriteLine("SEGS,AUS1,1,0,0,712205,584,8659094,2,NUÑEZ FELIX ARTURO,584"); 
} 

私は、ファイルに

SEGS、AUS1,1,0,0,712205,584,8659094,2、NUÃ'EZFELIX ARTUROこれを取得します、584

ASCII、UNICODE、ALL UTFのエンコーディングパラメータを試しても動作しません。

System.IO.StreamWriter(@fileSobrantes, true,Encoding.UTF32)) 

答えて

1

ファイルに何が入っているのかを簡単に(正確に)表現することはできません。ファイルを読むために何を使用しようとしていますか?私の推測では、あなたのために働くEncoding.Defaultを試してみると、それを読むために何を使っているのかを知らなければ、確かに言うのは難しいです。

ソースの文字列が間違っています。あなたがソースコードの文字列リテラルとして本当にそれを持っていれば、それを正しく解釈するようにVisual Studioがセットアップされていますか?

私のunicode debugging pageを参考にしてください。

EDIT:ところで、fileSobrantesの接頭辞は、なぜ@ですか?識別子の場合は、キーワードの場合にのみ識別子を必要とします。逐語的な文字列リテラルと混同されるかもしれませんが、これは文字列リテラルではなく、変数名です。

+0

@fileSobrantesは私が "c:\ tmp \ files"のようなものを持っていて、リファクタリングをしたときに@を削除するのを忘れたからです。ありがとう –

+0

いいえ問題ありません - うれしい答えは助けました。最後に何が間違っていたのですか? –

+0

私はEncoding.Defaultを使用しています。これでExcel、Word、ワードパッドで正しく開くことができます。私がメモ帳やUltraEditを開いた場合、私は間違った文字を取得します。しかし、私はそれをExcelで開く必要があります。ありがとう –