#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 (путь к файлу, кодировка. По умолчанию);