Thread: Postgres (EUC - JP encoded ) with Unicode MFC Application

Postgres (EUC - JP encoded ) with Unicode MFC Application

From
krishnan swaminathan
Date:
Hi ,

I have an MFC application built with unicode characterset enabled (so CString and the MFC API's expects wide characters) and the postgres db as backend which is EUC - JP encoded. 

Iam accessing my DB using CRecordset for reading the tables and direct query execution using ExecuteSQL for updation., Both these MFC functions expects wide strings of 2 bytes but my DB is multibyte encoded of 1 byte. Can anyone please let me know how to handle this scenario of Unicode application with multibyte encoded DB.

Thanks
Krish

Re: Postgres (EUC - JP encoded ) with Unicode MFC Application

From
Peter Geoghegan
Date:
Hi Krish,

> I have an MFC application built with unicode characterset enabled (so
> CString and the MFC API's expects wide characters) and the postgres db as
> backend which is EUC - JP encoded.
> Iam accessing my DB using CRecordset for reading the tables and direct query
> execution using ExecuteSQL for updation., Both these MFC functions expects
> wide strings of 2 bytes but my DB is multibyte encoded of 1 byte. Can anyone
> please let me know how to handle this scenario of Unicode application with
> multibyte encoded DB.

I'm not sure of the exact details of MFC's wide characters, but I do
know that if you were in a western European locale and weren't using
MFC unicode, you could set client encoding to win1251 or somesuch and
it would work.

Find out what encoding MFC wants for wide character strings, and see
if it's available as a client encoding:

http://www.postgresql.org/docs/8.4/static/multibyte.html

Incidentally, it might be worth considering ditching ODBC and using libpqxx.

Regards,
Peter Geoghegan