Skip site navigation (1) Skip section navigation (2)

Re: pgsqlodbc utf8 windows?

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: yufeng230(at)sina(dot)com
Cc: pgsql-odbc <pgsql-odbc(at)postgresql(dot)org>
Subject: Re: pgsqlodbc utf8 windows?
Date: 2010-08-24 02:09:09
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-odbc
On 08/21/2010 11:09 AM, yufeng230(at)sina(dot)com wrote:
> hi:
> In windows,I set postgresql _encoding utf8_ with chinese text inside.
> _, when I use psqlodbc-08.04.0200 psqlodbc35w.dll to _connect postgresql
> ,but no OK ,read text encoding with UCS2,how to solve it ?

UCS2 and utf8 are both unicode encodings. The text should be the same, 
just encoded differently. The ODBC driver is converting the UTF-8 it 
gets from PostgreSQL into UCS-2, because that's the standard encoding 
used by Windows and by the Windows Unicode ODBC driver.

If for some reason you really need UTF-8, you should use the standard 
Windows encoding conversion functions, or use libiconv, to convert from 
the UCS-2 data you get from the ODBC driver back to UTF-8.

Another option is to install the non-unicode ODBC driver for PostgreSQL, 
which will pass whatever the database sends through to do you directly. 
That way you should get UTF-8.

Craig Ringer

In response to

pgsql-odbc by date

Next:From: Werner KuhnleDate: 2010-09-03 09:00:45
Subject: Problem with simple SELECT over ODBC
Previous:From: yufeng230Date: 2010-08-21 03:09:10
Subject: pgsqlodbc utf8 windows?

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group