From: | Daniel Bruce Lynes <dlynes(at)shaw(dot)ca> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: I can't insert the chinese words. |
Date: | 2003-03-04 06:53:00 |
Message-ID: | 200303032253.00168.dlynes@shaw.ca |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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) ;
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Howes | 2003-03-04 07:13:29 | Tips on Sun ONE App Server 7 and Postgres 7.2 |
Previous Message | Peter Royal | 2003-03-04 02:27:09 | DatabaseMetaData.getImportedKeys returning duplicate rows |