Преобразование TXT-файла из ANSI в UTF-8 программным способом - PullRequest
9 голосов
/ 01 июня 2011

Мне нужна ваша помощь, пожалуйста.Я работаю над Java-приложением, которое преобразует данные из txt-файла в базу данных. Проблема заключается в том, что файл имеет кодировку ANSI, которую я не могу изменить, поскольку он поступает извне моего приложения и когда я записываю данные вбаза данных я получил "???"внутри.У меня вопрос, как я могу преобразовать данные, которые я прочитал из файла из ANSI в UTF-8, который может обрабатывать эти устаревшие символы.Я попытался преобразовать Byte [] в String, но это не сработало.

1 Ответ

6 голосов
/ 01 июня 2011

Используйте open Reoding * Reader как этот:

Reader reader = 
   new InputStreamReader(inputStream, Charset.forName(encodingName));

Точно, какое имя кодировки вы должны использовать, зависит от , какая кодировка "ANSI" текстовый файлбыл написан в. Вы можете найти список кодировки, поддерживаемой Java 6 здесь .Если это англоязычная система, скорее всего, это будет windows-1252.

Правильная запись данных в базу данных зависит от правильной настройки базы данных и (иногда) предоставления правильной конфигурации драйверу JDBC.

Подробнее об обработке кодировки символов можно прочитать в здесь и здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...