Re: error with unicode thing?? - Mailing list pgsql-hackers

From Oliver Jowett
Subject Re: error with unicode thing??
Date
Msg-id 4133123F.9040107@opencloud.com
Whole thread Raw
In response to error with unicode thing??  (chinni <naveen.bysani@gmail.com>)
List pgsql-hackers
chinni wrote:
> Hi all,
> 
> I have created a table
> create table temp1(a varchar(200));
> 
> and then I tried running the following code.
> 
> String msg1 = "\u0000abcd";
> PreparedStatement preparedStmt =pgConnection.prepareStatement("insert
> into temp1 values(?)");
> preparedStmt.clearParameters();
> preparedStmt.setString(1, msg1);
> preparedStmt.executeUpdate();
> preparedStmt.close();
> 
> And it throws an Exception saying "\0 not allowd"what should I do ? 
> How should I insert unicode string using jdbc ?

AFAIK, you can't store \0 in a text (varchar, ...) field. This is a 
server-side restriction, not a JDBC-specific issue. Any other (16 bit) 
unicode character should be fine assuming it can be represented in your 
DB encoding.

You may want to use bytea and PreparedStatement.setBytes() if you really 
want to store arbitary data.

-O


pgsql-hackers by date:

Previous
From: chinni
Date:
Subject: error with unicode thing??
Next
From: pgsql@mohawksoft.com
Date:
Subject: Re: Contrib -- PostgreSQL shared variables