Re: I can't insert the chinese words. - Mailing list pgsql-jdbc

From Daniel Bruce Lynes
Subject Re: I can't insert the chinese words.
Date
Msg-id 200303032253.00168.dlynes@shaw.ca
Whole thread Raw
In response to I can't insert the chinese words.  (dauw <dauw@ms9.url.com.tw>)
List pgsql-jdbc
On Tuesday 18 February 2003 01:25, dauw wrote:

> Hello all,
> I use the  "(2003-02-09) JDBC3 JDK 1.4" JDBC driver to access the DB.
> When I insert the chinese words (local= zh_TW ,"BIG5") into the varchar
> column,it become "???".
> But if I use the pgAdmin to do so ,It is success.
>
> Then I select the ResultSet, The getString() mathod could not get the
> correct words.
> But if I use the sentence " String s =new String(rs.getBytes());" ,The
> string s is correct.
>
> I guess that is caused by char= 16-bit in java2.
>
> Now how can I insert the chinese words (local= zh_TW ,"BIG5") into the
> varchar column by jdbc?

I would imagine Big5 isn't any different from GB, so here goes:

String str=new String( "中国" ) ;
byte[] b=str.getBytes("iso-8859-1") ;
str=new String( b, "gb2312" ) ;

stmt.setString(1, str ) ;

This is assuming you weren't treating the Chinese as Chinese, originally.

And to get them back out:

String str=rs.getString(1) ;

pgsql-jdbc by date:

Previous
From: Peter Royal
Date:
Subject: DatabaseMetaData.getImportedKeys returning duplicate rows
Next
From: Joe Howes
Date:
Subject: Tips on Sun ONE App Server 7 and Postgres 7.2