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(';');
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
块中,以便在不再需要时将其处理。