проблема с форматированием при чтении файла ASCI, имеющего в нем специальный символ

#asp.net

#asp.net

Вопрос:

Я использую приведенный ниже код для чтения файла CSV:

 TextReader tr = File.OpenText(path of the file);
  

Эта строка кода работает, когда файл CSV не содержит никаких специальных символов. Однако, когда файл csv содержит какой-либо специальный символ, приведенная выше строка кода не может правильно прочитать специальные символы. когда значения файла со специальными символами считываются и отображаются в datagrid, символы отображаются в виде квадратов.

Теперь, когда я конвертирую кодировку файла в UTF-8, он работает правильно.

Я изменил код, как показано ниже, чтобы прочитать файл с любой кодировкой, как показано ниже:

 StreamReader reader = new StreamReader(path of the file, System.Text.Encoding.UTF8, true);
  

Но эта строка кода также не работает.

У кого-нибудь есть идеи по решению этой проблемы?

Комментарии:

1. Что вы подразумеваете под особым характером? Можете ли вы привести пример CSV-файла? Также, пожалуйста, не говорите мне, что вы вручную анализируете CSV-файл с помощью string . Раскол.

2. специальный символ означает символы, которые не на английском, а на некоторых других языках, таких как китайский, японский и т.д. Также я не разбираю файл csv вручную, я считываю файл из местоположения на диске.

Ответ №1:

Комментарии:

1. Я могу решить эту проблему со специальным символом, используя следующую строку кода для чтения файла: StreamReader reader = новый StreamReader (путь к файлу, кодировка. По умолчанию);