0

私の問題は、WPFデータグリッドに「ä」や「ö」などのヨーロッパ文字を表示することです。データは.csvから読み込まれます。.netFramework4.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である必要があります。ユーザーはテンプレートを変更し、Excelの.csvに保存します。ヨーロッパ文字を入力すると、.csvファイルを読み取るデータグリッドに正しく表示されません。

.csvファイルを読んでいるときのコードの下:

using (var reader = new StreamReader(File.OpenRead(FileHelper.filePath), UTF8Encoding.UTF8)) 
{
     //Read file and populate objects
}

私は何かが欠けていると思います。

4

0 に答える 0