On Fri, Dec 23, 2011 at 1:58 PM, Heikki Linnakangas
<heikki.linnakan...@enterprisedb.com> wrote:
> On 23.12.2011 19:21, Robert Haas wrote:
>>
>> On Thu, Dec 15, 2011 at 3:40 PM, Holec, JPH Software<ho...@jphsw.cz>
>>  wrote:
>>>
>>> I Have PostgreSQL server 8.4.9 on Linux, database utf-8 and Client app on
>>> Windows (VC++ and libpq.dll).
>>> I need to use user account with non-ASCII and PQconnectdb() with
>>> options="client_encoding=WIN1250" doesn't work.
>>
>> I think you need a "-c" in there somewhere, maybe something like this:
>>
>> options='-cclient_encoding=WIN1250'
>>
>> ...although, for some reason, I can't get that to work from psql, even
>> though I can set other parameters using that syntax.
>
>
> That's because of the changes in 9.1 to determine client_encoding
> automatically from the system locale (commit 02e14562). Unless
> PGCLIENTENCODING environment variable is set, psql adds
> client_encoding='auto' to the params it passes to PQconnectdbParams. That
> overrides any setting you manually pass in the backend command-line options.
>
> That doesn't seem desirable, actually. That could be changed easily, by
> passing the client_encoding='auto' setting *before* dbname in the
> PQconnectdbParams call. The options given by the user are parsed from dbname
> setting, so if we passed them in different order, the manually given options
> would override the client_encoding='auto' setting, not the other way round.
> That seems like better behavior. Patch attached. It might be better to not
> backpatch this, though, to avoid surprising and subtle changes in behavior
> in application.

That seems like a sensible approach, but this patch doesn't seem to
fix the problem for me.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to