Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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#使用Encoding.UTF8追加文本_C#_Csv_Utf 8 - Fatal编程技术网

C#使用Encoding.UTF8追加文本

C#使用Encoding.UTF8追加文本,c#,csv,utf-8,C#,Csv,Utf 8,我有以下代码: using (var sw = new StreamWriter(path + kat + "/" + namec, false, Encoding.UTF8)) { sw.WriteLine(namex + "," + address + "," + web + "," + email + "," + phone + "," + linksx + ","

我有以下代码:

 using (var sw = new StreamWriter(path + kat + "/" + namec, false, Encoding.UTF8))
                            {
                                sw.WriteLine(namex + "," + address + "," + web + "," + email + "," + phone  + "," + linksx + "," + transport);
                            }
如何添加文本并包含Encoding.UTF8

我试过这个:

 using (StreamWriter sw = File.AppendText(path + kat + "/" + namec, false, Encoding.UTF8))
但我明白了:

严重性代码说明项目文件行抑制状态 错误CS1501方法“AppendText”没有重载需要3 参数访问标记C:\Users\??\Documents\Visual Studio 2015\Projects\visitdenmark\visitdenmark\Form1.cs 193活动


实际上,错误消息是正确的。声称
AppendText
不接受3个参数

但在我看来,没有必要将您的第一种方法与
StreamWriter
放在一边。但是为了附加文本,您应该将第二个参数更改为
true

using (var sw = new StreamWriter(path + kat + "/" + namec, true, Encoding.UTF8))
{
    sw.WriteLine(namex + "," + address + "," + web + "," + email + "," + phone + "," + linksx + "," + transport);
}

我不确定是否能找到您,但是StreamWriter的第二个参数是设置它是否应该追加。您可以只使用相同的代码,但将参数设置为true。@ogomrub ok请告诉我,您将如何附加它,包括Encoding.UTF8?我的意思与@Larsupilami写下的相同。你在文件中得到了一些意想不到的字符,可能是你正在用一个使用不同于UTF8编码的工具打开文件吗?我从网站visitdenmark.dk获得了字符串示例我的名字是Danhostel Rønne,但wehn我将其存储在csv文件中,看起来像Danhostel R¸nne我有一个非常奇怪的问题,当我将其设置为false时,一切正常,它显示的名称类似于“Rønne”,但我不能这样做,因为我需要附加它,所以当我将其设置为true时,它将正确附加,但显示的名称类似于“Rønne”。非常奇怪。但是当我把它设置为true时,我在字符串Ă中得到类似的东西,这对我没有帮助。在这种情况下,很可能你的输入数据已经被屏蔽了。因为这段代码正确地处理了UTF-8。请验证
namex
address
等的值是否正确格式化。我有一个非常奇怪的问题,当我将其设置为false时,一切正常,它显示的名称类似于“Rønne”,但我不能这样做,因为我需要附加它,因此,当我将其设置为true时,它将正确追加,但显示的名称类似于“Rønne”。非常奇怪。如果您能提供更多关于场景背景的信息,可能会有所帮助。我想是有别的东西在干扰。