Itagaki Takahiro wrote:
> Peter Eisentraut <peter_e@gmx.net> wrote:
>
>> On Wednesday 17 June 2009 14:29:26 Heikki Linnakangas wrote:
>>> We currently require that you set client_encoding correctly, or you get
>>> garbage in psql and any other tool using libpq. How about setting
>>> client_encoding automatically to match the client's locale? We have
>>> pg_get_encoding_from_locale() function that we can use to extract the
>>> encoding from LC_CTYPE. We could call that in libpq.
>
> +1 for psql, but -1 for libpq.
>
> I think automatic determination is good for psql because it is
> an end-user application, but is not always acceptable for middlewares.
>
> Please imagine:
>
> Web Server <- Application Server <- Database Server
> ---------- ------------------ ---------------
> UTF-8 Non-UTF8 env. UTF-8
>
> The Application Server might run on non-UTF8 environment
> but it should send outputs in UTF8 encoding. Automatic
> encoding determination might break existing services.
As soon as someone creates a database in non-UTF-8 encoding in the
cluster, it would stop working anyway. Setting client_encoding=utf8
manually would be a lot safer in a situation like that.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com