2

csv ファイルを編集する必要があります。問題は、ó ã ç などの特殊文字が台無しになることです。

Heresは私のコードの一部です:

static void ReadFromFile(){

        StreamReader SR = new StreamReader("c:\\Users\\Levy\\Documents\\Vale\\Base\\Desknote.csv", Encoding.Default);

        StreamWriter SW = new StreamWriter("c:\\Users\\Levy\\Documents\\Vale\\Base\\Desknote_Ed.csv", true, System.Text.Encoding.GetEncoding("Windows-1252"));

        string S;
        char C='a';
        int i=0;
        S=SR.ReadLine();
        SW.Write(S);

}

更新中:

Stramreader オブジェクトで Encoding.Default を使用して文字を読み取ることができます。(コンソールに表示できます)

ライターで ISO 8859-1 と CP-1252 を試してみましたが、出力がまだうまくいきません。

皆さんありがとう

4

5 に答える 5

3

入力ファイルをASCIIとして宣言しましたが、明らかにそうではありません。それをiso-8859-1またはCP-1252(Windows Latin-1)のようなものに変更すると、幸運が訪れるかもしれません...

これは、ASCIIでóãçに相当するものがないという根本的な問題を修正しないので、それらをどうするつもりですか?単にそれらを捨てますか?または、代わりに出力にUTF-8などのよりユニバーサルなエンコーディングを使用していることを確認する必要がありますか?

最善の方法は、ソースからこのファイルに使用されたエンコーディングを確認し、ファイルの受信者に出力に受け入れられるものを尋ねることです。表面上は似ているように見えるさまざまなエンコーディングがあるため、調べる唯一の方法はASKすることです。

于 2009-07-27T17:38:51.100 に答える
1

ここでは、ねじ込む可能性のある2つの場所があります。

  1. 読んでいる間(本質的に次のステップをねじ込みます)
  2. 書きながら

ソースファイルのエンコーディングを確認し(エンコーディングを示すステータスバーがあるNotepad2を試してみてください)、ソースファイルから読み取るときに使用します。

After successfully reading the file, write with UTF-8 to preserve those characters in output file.

于 2009-07-27T17:47:42.533 に答える
0

重要なのは本当にエンコーディングだと思います。入力データのテキストエンコーディングとは何ですか?

于 2009-07-27T17:38:38.527 に答える
0

ファイル全体を読み込んで\r\ nで分割するとどうなりますか?

于 2009-07-27T17:38:40.430 に答える