Обсуждение: JDBC COPY error encoding

Поиск
Список
Период
Сортировка

JDBC COPY error encoding

От
ttvvaa
Дата:
I use PostgreSQL 8.2 for WinXP (SP2).
I try to use "postgresql-jdbc-8.2-505-copy-20070719.jdbc3.jar"
(from http://kato.iki.fi/sw/db/postgresql/jdbc/copy/):

           FileInputStream fs = new FileInputStream("D://t.txt");
           ((PGConnection)con).getCopyAPI().copyIntoDB("COPY table1 FROM
STDIN", fs);
           fs.close();

but have error: 'org.postgresql.util.PSQLException: ERROR: invalid byte
sequence for encoding "UTF8": 0xa0'.

file 'D://t.txt' used WIN866 encoding.
DB used UTF8 encoding.

Command successfully runs in psql-console:
      set client_encoding to WIN866;
      copy table1(nn) from 'd://t.txt';

How can I solve this problem?



--
View this message in context: http://www.nabble.com/JDBC-COPY-error-encoding-tf4299167.html#a12236825
Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.


Re: JDBC COPY error encoding

От
"Kalle Hallivuori"
Дата:
Hi!

2007/8/20, ttvvaa <ttvvaa@gmail.com>:
> I use PostgreSQL 8.2 for WinXP (SP2).
> I try to use "postgresql-jdbc-8.2-505-copy-20070719.jdbc3.jar"
> (from http://kato.iki.fi/sw/db/postgresql/jdbc/copy/):
>
>            FileInputStream fs = new FileInputStream("D://t.txt");
>            ((PGConnection)con).getCopyAPI().copyIntoDB("COPY table1 FROM
> STDIN", fs);
>            fs.close();
>
> but have error: 'org.postgresql.util.PSQLException: ERROR: invalid byte
> sequence for encoding "UTF8": 0xa0'.
>
> file 'D://t.txt' used WIN866 encoding.
> DB used UTF8 encoding.
>
> Command successfully runs in psql-console:
>       set client_encoding to WIN866;
>       copy table1(nn) from 'd://t.txt';
>
> How can I solve this problem?

JDBC copy does not know the encoding in the provided bytestream. Thus
you have to convert the data to encoding used by server by yourself,
before feeding it to copy.

--
Kalle Hallivuori +358-41-5053073 http://korpiq.iki.fi/

Re: JDBC COPY error encoding

От
ttvvaa
Дата:
Thanks for answer!
I convert text-file to UTF-8 and successed copy.


Kalle Hallivuori wrote:
>
> Hi!
> JDBC copy does not know the encoding in the provided bytestream. Thus
> you have to convert the data to encoding used by server by yourself,
> before feeding it to copy.
>
> --
> Kalle Hallivuori +358-41-5053073 http://korpiq.iki.fi/
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
>
>                 http://www.postgresql.org/about/donate
>
>

--
View this message in context: http://www.nabble.com/JDBC-COPY-error-encoding-tf4299167.html#a12261732
Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.