CSV文件中字符串的问题

本文关键字:问题 字符串 文件 CSV | 更新日期: 2023-09-27 17:51:06

我有一个应用程序,它从CSV文件中读取信息并将其写入数据库。但一些字符(例如:ç)出现问题格拉瓦洛斯基地。有人知道怎么解决这个问题吗?谢谢你。

我使用这些代码行从CSV文件中读取信息:

string directory = @"C:'test.csv";
StreamReader stream = new StreamReader(directory);
string line = "";
line = stream.ReadLine();
string[] column = line.Split(';');

CSV文件中字符串的问题

StreamReader默认为UTF8编码,而您的文件采用不同的编码。试着这样指定它…

    var encoding = Encoding.UTF16;
    StreamReader stream = new StreamReader(directory, encoding);

注意,你需要知道文件是什么编码才能正确读取它…我只是猜测它可能是UTF16,但显然我不知道它是什么

您应该在读取文件时指定正确的编码。默认为UTF-8。您的文件可能使用了不同的编码。

这很可能与读取文件时使用的Encoding有关。默认情况下,UTF8被假定为编码。为了正确读取文件,您需要指定正确的编码,例如:

string directory = @"C:'test.csv";
using(StreamReader stream = new StreamReader(directory, Encoding.ASCII))
{
    string line = "";
    line = stream.ReadLine();
    string[] column = line.Split(';');
}

您可以尝试以下编码(查看完整列表的链接):

  • 编码。基于当前windows代码页的默认ANSI编码。
  • 编码。
  • 编码。UTF*用于不同的Unicode编码。

请注意,我将StreamReader封闭在using块中,以便在不再需要时将其处理。