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

Re: [GENERAL] trouble with to_char('L')

From: Takahiro Itagaki <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [GENERAL] trouble with to_char('L')
Date: 2010-04-19 01:59:42
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-generalpgsql-hackers
Magnus Hagander <magnus(at)hagander(dot)net> wrote:

> But I'm unsure how that would work. We're talking about the output of
> localeconv(), right? I don't see a version of localeconv() that does
> wide chars anywhere. (You can't just set LC_CTYPE and use the regular
> function - Windows has a separate set of functions for dealing with
> UTF16).

Yeah, msvcrt doesn't have wlocaleconv :-( . Since localeconv() returns
characters in the encoding specified in LC_TYPE, we need to hande the
issue with codes something like:

    1. setlocale(LC_CTYPE, lc_monetary)
    2. setlocale(LC_MONETARY, lc_monetary)
    3. lc = localeconv()
    4. pg_do_encoding_conversion(lc->xxx,
          FROM pg_get_encoding_from_locale(lc_monetary),
          TO GetDatabaseEncoding())
    5. Revert LC_CTYPE and LC_MONETARY.

Another idea is to use GetLocaleInfoW() [1], that is win32 native locale
functions, instead of the libc one. It returns locale characters in wide
chars, so we can safely convert them as UTF16->UTF8->db. But it requires
an additional branch in our locale codes only for Windows.


Takahiro Itagaki
NTT Open Source Software Center

In response to


pgsql-hackers by date

Next:From: Robert HaasDate: 2010-04-19 02:04:50
Subject: Re: master in standby mode croaks
Previous:From: Fujii MasaoDate: 2010-04-19 01:58:05
Subject: Re: master in standby mode croaks

pgsql-general by date

Next:From: Đỗ Ngọc Trí CườngDate: 2010-04-19 02:26:53
Subject: Help with tracking!
Previous:From: Vick KheraDate: 2010-04-19 01:27:26
Subject: Re: partitioned lookup table?

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