Вставка файлов в БД - PullRequest
       1

Вставка файлов в БД

0 голосов
/ 03 апреля 2012

У меня есть CSV-файлы, Java-приложение и база данных, я прочитал CSV-файл из моего Java-приложения и после некоторой операции я вставляю файлы один за другим в базу данных, но такие символы, как ŠĐŽĆČ, вставляются неправильно. Я установил для базы данных стандартную сортировку utf-8. Через тестирование я понимаю, что, когда я устанавливаю файлы с кодировкой ANSI, все работает просто отлично (Š areČ правильно вставляется в базу данных), но когда кодировка UTF-8, символы вставляются неправильно. Проблема в том, что файлы, которые я должен вставить в БД, должны быть закодированы в UTF-8. Можете ли вы помочь мне с этой проблемой?

1 Ответ

0 голосов
/ 03 апреля 2012

Сложно быть конкретным без подробностей, но на ум приходит пара вещей:

1) Если я вас правильно понимаю, вы говорите, что ваш CSV находится в UTF8?Вы убедились, что предположение верно?И в связи с этим, учитывая, что вы думаете, что это UTF-8, как вы загружаете этот файл в Java?

Обратите внимание, что для чтения файлов в Java используется системная кодировка символов по умолчанию.Это не обязательно UTF-8, и вы можете проверить, печатаете ли вы System.getProperty("file.encoding");.

Я не склонен полагаться на это и загружать в соответствии с известной кодировкой следующим образом:

FileInputStream fis = new FileInputStream("myfile.txt"); 
BufferedReader reader = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
...

2) Сравнение базы данных отличается от указания набора символов.(Обратите внимание, было бы удобно, если бы вы также упомянули свой клиент базы данных).Сопоставление относится к сортировке / упорядочению текста.Как правило, вам нужно указать набор символов.Как это сделать, во многом зависит от вашей базы данных.

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