我的问题是在 WPF 数据网格中显示欧洲字符,如 'ä' 和 'ö'。数据从 .csv 加载。我正在使用 .net 框架 4.0。
文件路径末尾包含 .csv 字符。CSV 文件由以下代码生成并打开。
public static void GenerateCsvTemplate(bool overwrite)
{
try
{
if (overwrite)
{
if (!File.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
string delimiter = Settings.Default.SplitValue.ToString();
string content = "a;b;c;d;f";
File.WriteAllText(filePath, content,UTF8Encoding.UTF8);
}
Process.Start(filePath);
}
catch (Exception ex)
{
logger.Error(ex.Message);
}
}
以 UTF-8 编码创建文件不会改变我的数据网格上欧洲字符的输出。根据我的理解,WPF 中的默认编码应该是 UTF-8。用户修改模板并将其保存在 .csv 中的 excel 中。当他们输入欧洲字符时,它们无法在读取 .csv 文件的数据网格中正确显示。
当我阅读 .csv 文件时,在代码下方:
using (var reader = new StreamReader(File.OpenRead(FileHelper.filePath), UTF8Encoding.UTF8))
{
//Read file and populate objects
}
我想我错过了一些东西。