Re: user names & non-ASCII

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: "Holec, JPH Software" <holec(at)jphsw(dot)cz>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: user names & non-ASCII
Date: 2011-12-23 18:58:41
Message-ID: 4EF4CF61.2070209@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 23.12.2011 19:21, Robert Haas wrote:
> On Thu, Dec 15, 2011 at 3:40 PM, Holec, JPH Software<holec(at)jphsw(dot)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.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

Attachment Content-Type Size
let-client_encoding-be-manually-overrideable-in-psql-1.patch text/x-diff 1.7 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Daniel Migowski 2011-12-24 12:06:25 Cannot drop database because of AUTOVACUUM
Previous Message Tom Lane 2011-12-23 17:46:55 Re: BUG #6341: Packaging - virtual provides "postgres" without version