C# 读取CSV文件中文出现乱码
时间: 2023-08-18 08:10:15 浏览: 342
你可以尝试使用以下代码来读取包含中文的CSV文件,并解决乱码问题:
```csharp
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
public class CsvReader
{
private string filePath;
private string delimiter;
public CsvReader(string filePath, string delimiter = ",")
{
this.filePath = filePath;
this.delimiter = delimiter;
}
public List<List<string>> ReadCsvFile()
{
List<List<string>> csvData = new List<List<string>>();
using (var reader = new StreamReader(filePath, Encoding.Default))
{
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(delimiter);
List<string> row = new List<string>();
foreach (var value in values)
{
row.Add(value);
}
csvData.Add(row);
}
}
return csvData;
}
}
public class Program
{
public static void Main(string[] args)
{
string filePath = "your_file_path.csv";
CsvReader csvReader = new CsvReader(filePath);
List<List<string>> csvData = csvReader.ReadCsvFile();
// 打印CSV文件内容
foreach (var row in csvData)
{
foreach (var value in row)
{
Console.Write(value + "\t");
}
Console.WriteLine();
}
}
}
```
在上述代码中,我们使用了 `StreamReader` 类来读取CSV文件,并使用 `Encoding.Default` 来指定默认的编码。如果你的CSV文件采用其他编码方式,你可以根据实际情况进行调整。
请将 `your_file_path.csv` 替换为你的CSV文件的实际路径。此代码将CSV文件的内容打印到控制台,你可以根据需要进行后续处理。
希望这可以帮助到你!如果你有任何其他问题,请随时提问。
阅读全文