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兆的免费邮箱吗?
网易免费邮箱是中国最多人使用的电子邮箱。