|
|
|
Проблемы с кодировкой при чтении из файла в БД на PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Возникла проблема с кодировкой при импорте csv-файла в БД под управлением PostgreSQL 9.3: на всех этапах получения данных и импорта их в БД жестко указана кодировка WIN1251, но в базу данные попадают с кодировкой UTF-8. 1. Данные берутся из БД под управлением Firebird 2.5, кодировка базы WIN1251. 2. В параметрах объекта Connection к этой БД указана кодировка WIN1251. Код: java 1. 2. 3. 4. 5. 6. 3. Данные в csv-файл пишутся следующим образом: Код: java 1. 4. Из csv-файла: Код: java 1. 5. В запросе к БД на PostgreSQL кодировка указана: Код: plsql 1. 2. 3. 4. 5. 6. 6. В объекте Connection для подключения к БД на PostgreSQL кодировка указана аналогично подключению к Firebird 2.5. 7. На сервере PostgreSQL команды Код: plsql 1. и Код: plsql 1. показывают, что кодировка стоит "WIN1251". Локалью по умолчанию на самом сервере является ru_RU.Cp1251. Но при попытке просмотреть вставленные данные через psql явно видно, что кодировка не та. Через pg_admin выдает ошибку: ОШИБКА: для символа с последовательностью байт 0x98 из кодировки "WIN1251" нет эквивалента в "UTF8" SQL-состояние: 22P05 Перекопал множество статей - ничего не помогло. Откуда появилась кодировка UTF-8 непонятно. Уважаемые знатоки, в какую сторону смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 17:20 |
|
||
|
Проблемы с кодировкой при чтении из файла в БД на PostgreSQL
|
|||
|---|---|---|---|
|
#18+
CSV файл нормальный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 17:28 |
|
||
|
Проблемы с кодировкой при чтении из файла в БД на PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Можно пример того как выглядит "явно кодировка не так"? Чтобы понять в какую сторону сломалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 17:29 |
|
||
|
Проблемы с кодировкой при чтении из файла в БД на PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, РџРѕРїРѕРІ Евгений Сергеевич Декодер показал, что это текст в кодировке UTF-8, конвертированный в WIN1251. CSV-файл в кодировке WIN1251, отображается нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 17:45 |
|
||
|
Проблемы с кодировкой при чтении из файла в БД на PostgreSQL
|
|||
|---|---|---|---|
|
#18+
StavRazor, А какая связь между п4 и п5? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 18:03 |
|
||
|
Проблемы с кодировкой при чтении из файла в БД на PostgreSQL
|
|||
|---|---|---|---|
|
#18+
StavRazor, А можете CSV файл приаттачить? Кусок хотя бы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 18:05 |
|
||
|
Проблемы с кодировкой при чтении из файла в БД на PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Если я правильно понял вопрос, то для импорта содержимого файла в базу использую метод объекта класса CopyManager copyIn(). Код: java 1. 2. 3. 4. 5. 6. Проблема, в общем-то решилась, в запросе, указанном выше, кодировку указывать не нужно (ENCODING 'WIN1251'). Этим занимается сам класс CopyManager, на основании полученной кодировки от объекта класса Reader. Вероятно, происходил какой-то конфликт. Спасибо большое за наводящий вопрос и желание помочь! Всего доброго! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 18:53 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38778974&tid=2126439]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 212ms |
| total: | 477ms |

| 0 / 0 |
