读取包含希腊字符的CSV文件
本文关键字:CSV 文件 字符 包含希 读取 | 更新日期: 2023-09-27 18:14:17
我正在尝试使用以下命令从CSV文件读取数据:
var lines = File.ReadAllLines(@"c:'test.csv").Select(a => a.Split(';'));
它可以工作,但是包含单词的字段是用希腊字符书写的,并且它们作为符号表示。我怎样才能正确地设置Encoding
以读取这些希腊字符?
ReadAllLines有重载,它接受沿文件路径的编码
var lines = File.ReadAllLines(@"c:'test.csv", Encoding.Unicode)
.Select(line => line.Split(';'));
测试:
File.WriteAllText(@"c:'test.csv", "ϗϡϢϣϤ", Encoding.Unicode);
Console.WriteLine(File.ReadAllLines(@"c:'test.csv", Encoding.Unicode));
将打印:
ϗϡϢϣϤ
要找出文件实际上是用哪种编码编写的,使用下一个代码片段:
using (var r = new StreamReader(@"c:'test.csv", detectEncodingFromByteOrderMarks: true))
{
Console.WriteLine (r.CurrentEncoding.BodyName);
}
对于我的场景,它将打印
utf-8