如何将阿拉伯语,希伯来语写入CSV文件?

时间:2012-12-16 00:22:08

标签: c# csv encoding streamwriter

除了英语之外,我不能写任何阿拉伯语或希伯来语的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

如你所见,gibbrish标记应该是阿拉伯语和希伯来语的名字。

1 个答案:

答案 0 :(得分:10)

你说你的CSV文件中有“乱码”。这不是因为您使用错误的编码编写,但这是(最有可能),因为您使用错误的编码查看

尝试使用Notepad +等文本编辑器打开CSV文件。在编码菜单UTF8中选择。你现在应该看到正确的角色。如果没有,请附上您使用上述代码创建的示例CSV文件,也许我可以看到出现了什么问题。