Re: upper()/lower() truncates the result under Japanese Windows

From: Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: upper()/lower() truncates the result under Japanese Windows
Date: 2008-12-15 22:19:30
Message-ID: 4946D7F2.3070908@tpf.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp> writes:
>> Upper(), lower() or initcap() function truncates the result
>> under Japanese Windows with e.g. the server encoding=UTF-8
>> and the LC_CTYPE setting Japanese_japan.932 .
>
> Hmm, I guess that makes sense, since the LC_CTYPE implies an encoding
> other than UTF-8; MB_CUR_MAX should be set according to LC_CTYPE.
>
> The proposed patch seems pretty ugly though. Why don't we just stop
> using MB_CUR_MAX altogether? These three functions are the only
> references to it AFAICS.

Although it looks ugly, it only follows what wchar2char() does.
Though I don't like to use MB_CUR_MAX, it seems safe as long as
wchar2char() calls wcstombs().

regards,
Hiroshi Inoue

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2008-12-15 22:30:56 Re: [PATCHES] odd output in restore mode
Previous Message Bruce Momjian 2008-12-15 22:18:32 Re: [PATCHES] odd output in restore mode