powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / JDBC COPY и кодировка
1 сообщений из 1, страница 1 из 1
JDBC COPY и кодировка
    #34739095
ttvvaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую PostgreSQL 8.2 (on WinXP SP2)
Драйвер postgresql-jdbc-8.2-505-copy-20070719.jdbc3.jar
Вопрос: как из java-кода запустить команду COPY, которая закачивает русский текст (в файле t.txt - текст в кодировке WIN866) в БД:
Код: plaintext
1.
2.
3.
            FileInputStream fs = new FileInputStream("D://t.txt");
            ((PGConnection)con).getCopyAPI().copyIntoDB("COPY table1 FROM STDIN", fs);
            fs.close();
вылетает с ошибкой:
Код: plaintext
1.
org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0xa0

Причем из psql консоли команда
Код: plaintext
1.
set client_encoding to WIN866;
copy table1 from 'd://t.txt';
отрабатывает отлично...
перепробывал создавать базу в других кодировках - не помогает...
пробывал указывать свойства для соединения - тоже не помогает...
Код: plaintext
1.
2.
3.
4.
            Properties props = new Properties();
            props.setProperty("charSet","WIN866");
            props.setProperty("allowEncodingChanges","true");
            Connection con = DriverManager.getConnection(url, props);
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / JDBC COPY и кодировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]