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 回答