Я довольно новичок в файлах, потоках и различных кодовых страницах.Смотри, это моя проблема:
Я получаю текстовые файлы, и некоторые из них были созданы с кодовой страницей Windows-1252, некоторые все еще IBM850, а иногда и UTF8.Когда я импортирую их, моя база данных показывает все виды символов для ä, ö, ü, ß, потому что я читаю их с неправильной кодовой страницей.только когда я импортирую их с правильной кодовой страницей, все работает нормально.
Это то, что я подумал, может быть хорошим подходом:
Конвертировать массивы ä, ö, ü, ß в байты скодовая страница X
например:
byte[] myAeKl = Encoding.GetEncoding("IBM850").GetBytes("ä");
byte[] myAeGr = Encoding.GetEncoding("IBM850").GetBytes("Ä");
, просмотрите текстовые файлы и сравните каждый байтовый массив букв с приведенными выше.если найдено, используйте эту кодовую страницу, в противном случае попробуйте другую кодовую страницу.
Вот чего я не понимаю: как я могу сравнить байты из букв в текстовом файле с байтовыми массивами искомых букв.Например:
if (Textfile.Letter == myAeKl || Textfile.Letter == myAeGr)
...
Есть ли другой способ получить правильную кодовую страницу?Правильный ли у меня подход к решению?