0

我的问题是在 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
}

我想我错过了一些东西。

4

0 回答 0