Re: UICODE SUPPORT IN 8.00.0102 - Mailing list pgsql-odbc

From Josef Springer
Subject Re: UICODE SUPPORT IN 8.00.0102
Date
Msg-id 42F3294D.7030508@joops.com
Whole thread Raw
In response to UICODE SUPPORT IN 8.00.0102  ("CHEN" <trainee12@163.com>)
List pgsql-odbc
I had the same problem with Win2k. The database encoding is UNICODE. Reading with SET CLIENT_ENCODING=UNICODE worked, but writing did not work. In ODBC 8.00.01.01 may be a problem with encoding on Win2k and Win98. WinXP works well.

Josef Springer


CHEN wrote:
server encoding : EUC_CN
client: PSQLODBC8.00.0102 +WIN98

When I select some chinese characters from sever, these characters display '?????'.

SHOW CLIENT_ENCODING ----- EUC_CN

SET CLIENT_ENCODING=UNICODE, Then characters display normal.

So I need add this setting every time when connecting.
But it don't nedd in psqlodbc8.00.0101.

I think it is a bug:
connetcion.c(download from src psqlodbc8.00.0102) line 1025:

--------------------------------------------------------
if (!self->client_encoding ||!stricmp(self->client_encoding, "UNICODE"))
{
CLIENT_ENDONG CHANGE TO UNICODE....
--------------------------------------------------------

should be(8.00.0101):
--------------------------------------------------------
if (!self->client_encoding ||stricmp(self->client_encoding, "UNICODE"))
/*WHEN CLIENT_ENCODING IS NOT UNICODE ,THEN CHANGE TO UNICODE */
{
CLIENT_ENDONG CHANGE TO UNICODE....

--------------------------------------------------------

psqlodbc8.00XX is unicode version, ODBC level is working on unicode, so ODBC must set client_encodding to unicode only when connectting, ODBC muet prevent application from setting client_encodding to other encodding, and ODBC level transfer to application level using FUNCTION "utf8-->UCS2" AND "WideCharToMultiByte"





需要一个2000兆的免费邮箱吗?
网易免费邮箱是中国最多人使用的电子邮箱。

pgsql-odbc by date:

Previous
From: "Dave Page"
Date:
Subject: Re: Use Declare/Fetch in new version
Next
From: "Joel Fradkin"
Date:
Subject: error during build, I must of hosed something