From: | Попов Михаил Юрьевич <Mihail(dot)Popov(at)galaktika(dot)by> |
---|---|
To: | Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp> |
Cc: | "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org> |
Subject: | Re: Client encoding win866. |
Date: | 2011-06-09 09:34:46 |
Message-ID: | 27EFDA7DA70C1E409421B31ECAA8C9D31DD83EE439@topmail6 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
>> Few details...
>> I create connection and before all the bindings of parameters and columns, and before SQLPrepare I do SQLExecDirect(stmthp,"set client_encoding to \"WIN866\";",SQL_NTS);
>> Then after SQLPrepare, SQLBindParameter and after SQLExecute I get an error:
>> Error code 22P05 with message ERROR: character 0x83 of encoding "WIN1251" has no equivalent in "MULE_INTERNAL";
>>
>> In this example, the function I pass the 'select * from "Table"'
>What will happen when you don't call *set client_encoding to ...*?
Yes, I understood and found a bug in my code. And now schema by using "set client_encoding to \"WIN866\";" worked correctly. Thanks.
But while I was searching for a solution, I found the documentation and tried it through a variable PGCLIENTENCODING change the encoding.
http://www.postgresql.org/docs/8.1/static/multibyte.html
---
Using PGCLIENTENCODING. If the environment variable PGCLIENTENCODING is defined in the client's environment, that client encoding is automatically selected when a connection to the server is made. (This can subsequently be overridden using any of the other methods mentioned above.)
Using the configuration variable client_encoding. If the client_encoding variable is set, that client encoding is automatically selected when a connection to the server is made. (This can subsequently be overridden using any of the other methods mentioned above.)
---
I set environment variable at 'WIN866', as well set the database properties "ALTER DATABASE "DD866" SET client_encoding='WIN866'". But it did not work. And without *set client_encoding to ...* don't work.
This mechanism would be more optimal for my project, because now, for each cursor must run the command *set client_encoding to ...*. Or is this another question?
From | Date | Subject | |
---|---|---|---|
Next Message | Hiroshi Inoue | 2011-06-10 12:40:53 | Re: Client encoding win866. |
Previous Message | Hiroshi Inoue | 2011-06-09 09:29:41 | Re: Client encoding win866. |