Skip site navigation (1) Skip section navigation (2)

Re: [COMMITTERS] pgsql: Explicitly bind gettext() to the UTF8 locale when in use.

From: Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: PG Hackers <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Hiroshi Saito <z-saito(at)guitar(dot)ocn(dot)ne(dot)jp>
Subject: Re: [COMMITTERS] pgsql: Explicitly bind gettext() to the UTF8 locale when in use.
Date: 2008-11-24 13:57:26
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-committerspgsql-hackers
Magnus Hagander wrote:
> Hiroshi Inoue wrote:
>> Hi Magnus and all,
>> Magnus Hagander wrote:
>>> Log Message:
>>> -----------
>>> Explicitly bind gettext() to the  UTF8 locale when in use.
>>> This is required on Windows due to the special locale
>>> handling for UTF8 that doesn't change the full environment.
>> Thanks to this change UTF-8 case was solved but Japanese users
>> are still unhappy with Windows databases with EUC_JP encoding.
>> Shift_JIS which is a Japanese encoding under Windows doesn't
>> match any server encoding and causes a crash with the use of
>> gettext. So Saito-san removed ja message catalog just before
>> the 8.3 release.
>> Attached is a simple patch to avoid the crash and enable the
>> use of Japanese message catalog.
>> Please apply the patch if there's no problem.
> Hi!
> It will clearly also need an update to the comment, but I can take care
> of that.
> I assume you have tested this?

Though I myself didn't test it, Saito-san tested it.

> The comment says that it works because we
> are handling UTF8 on a special way on Windows,

ISTM UTF-8 isn't a special case.
In fact the comment also mentions the following.

	* In future we might want to call bind_textdomain_codeset
 	* unconditionally, but that....

> If your database is in EUC_JP, I don't see why gettext() isn't picking
> it up properly in the first place..

In Japan 2 encodings (EUC_JP and Shift_JIS) are often used.
EUC_JP is mainly used on *nix and on Windows Shift_JIS is
used. We use EUC_JP not Shift_JIS as the server encoding

> And why do we need that on Windows only, and not on other platforms?

because Shift_JIS isn't allowed as a server encoding. So
the Japanese Windows native message encoding Shift_JIS never
 matches the server encoding EUC_JP and a conversion between
Shitt_jis and EUC_JP is necessarily needed.

Hiroshi Inoue

In response to


pgsql-hackers by date

Next:From: Magnus HaganderDate: 2008-11-24 14:01:49
Subject: Re: blatantly a bug in the documentation
Previous:From: Dave PageDate: 2008-11-24 13:56:59
Subject: Re: blatantly a bug in the documentation

pgsql-committers by date

Next:From: User FxjrDate: 2008-11-24 14:01:24
Subject: npgsql - Npgsql2: Fixed problem where parameters size wasn't being
Previous:From: Magnus HaganderDate: 2008-11-24 13:55:03
Subject: Re: pgsql: Add support for matching wildcard server certificates to the new

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group