У меня есть файлы csv, приложение java и база данных, я читаю csv-файл из моего java-приложения и после некоторой операции, я вставляю файлы по одному в базу данных, но символы, подобные ŠĐŽĆČ, не вставлены правильно. Я устанавливаю базу данных в настройку по умолчанию utf-8. Я понимаю, посредством тестирования, что, когда я устанавливаю файлы с кодировкой ANSI, все работает просто отлично (ŠĐŽĆČ вставлены правильно в базу данных), но когда кодировка является символом UTF-8, они не вставлены правильно. Проблема в том, что файлы, которые я должен вставить в БД, должны быть закодированы в UTF-8. Можете ли вы помочь мне с этой проблемой?Вставка файлов в DB
ответ
Трудно быть конкретным без получения более подробной информации, но есть несколько вещей, которые приходят на ум:
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) базы данных сортировки отличается от указания набора символов. (Обратите внимание, что было бы удобно, если бы вы также упоминали клиента базы данных). Сортировка относится к сортировке/упорядочению текста. Обычно вам нужно указать набор символов. Как это сделать, многое зависит от вашей базы данных.
- 1. Вставка массива файлов изображений в MySql DB
- 2. Повторяющаяся вставка в DB
- 3. Вставка PDF-файлов в SQLite
- 4. объемная вставка в таблице db
- 5. Вставка записей в MySQL DB
- 6. Вставка данных в Cassandra DB
- 7. Вставка кортежа в mysql db
- 8. Вставка в db с rawQuery
- 9. Вставка значения DropDownList в db
- 10. Вставка данных в Taffy DB
- 11. ASP.net CheckboxList Вставка в DB
- 12. Вставка DB с laravel
- 13. Вставка даты в db доступа в vb
- 14. Вставка столбца массива в db в Yii
- 15. Вставка в вложенных таблицах в Oracle DB
- 16. Вставка BLOB с OLE DB
- 17. Непосредственная вставка CSV-файлов в mysql,
- 18. чтение файлов вставка текста в mysql
- 19. Вставка файлов в sql-сервер
- 20. Вставка имен файлов в таблицы
- 21. Вставка нескольких текстовых файлов
- 22. Вставка Sub-Array в документ Azure DB
- 23. Извлечение твита пользователя и вставка в db
- 24. Вставка нескольких элементов в ошибку DB
- 25. Вставка файла в mysql DB через CMD
- 26. Вставка несуществующей даты в память DB
- 27. Вставка данных UTF8 в SJIS DB (MySQL)
- 28. Вставка значения ввода номера html5 в db
- 29. Единый ORM и вставка в DB
- 30. PHP Вставка пустой записи в MySQL DB
1. Мои CSV-файлы находятся в UTF-8, я загружаю файл стандартным образом: Файл f = новый файл («C: \\ ...»), чем во время цикла i обрабатывает каждую строку. После этого я вставляю файлы в MySql DB (драйвер JDBC). 2. Я прочитал по адресу http://dev.mysql.com/doc/refman/5.0/en/charset-database.html, что: «Если COLLATE Y задан без CHARACTER SET, набор символов, связанный с Y и сортировка Y, used ", поэтому, если я устанавливаю настройку UTF-8 по умолчанию, то набор символов будет UTF-8. – sekulicd
Объект File не является читателем, хотя именно это я и хочу открыть. Я обновил свой ответ, чтобы показать, как это делается для utf-8. – arooaroo
Я понимаю это, но спасибо вам в любом случае. – sekulicd