Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言编写csv文件中的法语字符#_C#_Encoding - Fatal编程技术网

C# 用C语言编写csv文件中的法语字符#

C# 用C语言编写csv文件中的法语字符#,c#,encoding,C#,Encoding,我有一个dbf文件,其中包含MONTRÉAL。我必须将这个dbf文件转换成csv文件 为此,我使用Microsoft Visual FoxPro驱动程序读取此dbf文件,然后将每行转换为逗号分隔的,然后将所有行写入名为“ASD.csv”的文件 但在CSV文件中,MONTRÉAL显示为MONTRÉAL,即代替ea出现一个?字符。我尝试在将行写入csv文件时使用UTF8编码,但即使这样也不起作用 请提供帮助。几年前我的实现使用了: var writer = new StreamWriter(file

我有一个dbf文件,其中包含
MONTRÉAL
。我必须将这个dbf文件转换成csv文件

为此,我使用Microsoft Visual FoxPro驱动程序读取此dbf文件,然后将每行转换为逗号分隔的,然后将所有行写入名为“ASD.csv”的文件

但在CSV文件中,
MONTRÉAL
显示为
MONTRÉAL
,即代替
ea
出现一个
字符。我尝试在将行写入csv文件时使用UTF8编码,但即使这样也不起作用


请提供帮助。

几年前我的实现使用了:

var writer = new StreamWriter(fileStream, Encoding.Unicode);
writer.Write(csvContent.ToCharArray());
我想这应该行得通,因为我们的应用程序支持相当多的语言,包括日语

编辑: 使用记事本、记事本++、Excel、图书馆办公软件为蒙特勒尔工作


这是一个很好的解释

我建议您使用UTF8编码,如下所示:

    using (StreamWriter writer = new StreamWriter("asd.csv", false, Encoding.UTF8))
    {
        writer.WriteLine("Id;City");
        writer.WriteLine("1;Montréal");
        writer.WriteLine("2;Québec");
    }

这将在CSV的开头添加BOM(),然后您可以直接使用Excel打开文件,甚至可以使用标准Windows记事本成功打开文件。

您必须使用特定的编码。法语为“iso-8859-1”或“windows-1252”


您正在读取的文件的编码是什么?您正在以这种编码读取它吗?您使用什么应用程序来查看CSV文件?它使用什么编码?CSV文件可能是正确的,但查看器使用了错误的编码。(没有真正的CSV标准,也没有CSV文件的首选编码,并且该文件也不记录使用的编码。这必须由生产和消费应用程序单独商定。)我正在使用记事本++查看CSV文件。您在记事本++中选择了什么编码(菜单编码)?这和你出口时用的是一样的吗?我用了泰尔在中给出的答案,它成功了。谢谢。那很有用!
Encoding.GetEncoding("iso-8859-1")