On 08/21/2010 11:09 AM, yufeng230@sina.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