Thread: JDBC COPY error encoding

JDBC COPY error encoding

From
ttvvaa
Date:
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

From
"Kalle Hallivuori"
Date:
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

From
ttvvaa
Date:
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.