8

英語以外のアラビア語またはヘブライ語の言語を Results.csv に書き込むことができません。それらのいずれかを書き込もうとするたびに、代わりに適切なアラビア語またはヘブライ語が含まれているはずの CSV ファイルに意味不明なマークが表示されます。

UTF8Encoding を使用しようとしていますが、明らかに何か間違っています。

見て、私を修正してみてください:

private void WriteToCsvFile()
{
    var us = users.ElementAt(0);
    string titlenames = "number,";
    string userAnswer = (us.userName + ",");
    foreach (string ss in List)
    {
        // Do stuff
    }
    foreach (string ans in us.answer)
    {
        // Do stuff
    }
    using (StreamWriter sw = new StreamWriter("Results.csv", true, Encoding.UTF8))
    {
        sw.WriteLine(titlenames);
        sw.WriteLine(userAnswer);
    }
    this.Close();
}

お時間をいただき、ありがとうございました。

さまざまな種類のエンコーディングを含む CSV ファイルを次に示します。

number  לוי  סל    רמי  שופר    ×ב×לה    ×‘×•×   ללונה  פ×רק
22  FALSE   TRUE    FALSE   FALSE   TRUE    TRUE    FALSE   FALSE

number  לוי  סל    רמי  שופר    ×ב×לה    ×‘×•×   ללונה  פ×רק
33  TRUE    TRUE    FALSE   FALSE   FALSE   FALSE   TRUE    FALSE

number  +BdwF1QXZ-  +BeEF3A-    +BegF3gXZ-  +BekF1QXkBeg-   +BdAF0QXQBdwF1A-    +BdEF1QXQ-  +BdwF3AXVBeAF1A-    +BeQF0AXoBec-
22  FALSE   FALSE   FALSE   TRUE    TRUE    TRUE    FALSE   TRUE

number  ÜÕÙ áÜ  èÞÙ éÕäè    ÐÑÐÜÔ   ÑÕÐ ÜÜÕàÔ   äÐèç
33  TRUE    TRUE    FALSE   TRUE    FALSE   TRUE    TRUE    FALSE

number  ÜÕÙ áÜ  èÞÙ éÕäè    ÐÑÐÜÔ   ÑÕÐ ÜÜÕàÔ   äÐèç
44  not answered    not answered    FALSE   not answered    not answered    not answered    not answered    not answered

number  ??? ??  ??? ????    ?????   ??? ?????   ????
55  not answered    not answered    not answered    not answered    not answered    not answered    not answered    not answered

ご覧のとおり、意味不明なマークはアラビア語とヘブライ語の名前にする必要があります。

4

1 に答える 1

11

CSVファイルに「意味不明なマーク」が表示されていると言います。これは、間違ったエンコーディングを使用して書いているからではなく、(ほとんどの場合)間違ったエンコーディングを使用して表示しているからです。

Notepad+ などのテキスト エディタを使用して CSV ファイルを開いてみてください。エンコーディング メニューで UTF8 を選択します。正しい文字が表示されるはずです。そうでない場合は、上記のコードで作成した CSV ファイルの例を添付してください。何が問題なのかわかるかもしれません。

于 2012-12-16T00:36:13.777 に答える