私の問題は、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
}
私は何かが欠けていると思います。