Я действительно искал общий, а не программный способ определения кодировки файла, но пока не нашел.
Что я нашел, протестировав с различными кодировками, так это то, что мой текст был UTF-7.
Итак, где я впервые делал:
Файл StreamReader = File.OpenText (полное имя файла);
Я должен был изменить это на:
Файл StreamReader = новый StreamReader (полное имя файла, System.Text.Encoding.UTF7);
OpenText предполагает, что это UTF-8.
вы также можете создать StreamReader, как это
new StreamReader (fullfilename, true), второй параметр, означающий, что он должен попытаться обнаружить кодировку по метке byteorder файла, но в моем случае это не сработало.