1
4

1 に答える 1

3

これらの 2 行という事実:

reader.GetValue(i).ToString()                  -> "€"
reader.GetValue(i).ToString().ToCharArray()[0] -> 8364 '€'

あなたがやりたいことをしてください。データアクセスとMS Accessを見るのをやめてもいいと私に言います。問題は単純です。それをファイルに書き込むことです。トリックは、作成時に明示することですStreamWriterStreamWriterコンストラクターを見ると、Encoding. 空白のままにすると、デフォルトで UTF-8 になります。したがって、空白のままにしないでください。選択した を明示的に渡しますEncoding。意味するコードページを正確に把握し、次を使用することをお勧めします。

const int CodePage = ....; // TODO: only you know this
var enc = Encoding.GetEncoding(CodePage);
using(var file = File.Create(path))
using(var writer = new StreamWriter(file, enc)) {
   ... // write the contents
}

(システムのデフォルトの ANSI コード ページ)を使用することもできますEncoding.Defaultが、これは少し当たり外れがあります。

于 2012-05-28T19:55:47.267 に答える