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

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

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


  • From: Bruce Momjian <bruce(at)momjian(dot)us>
  • To: Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp>
  • Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Mikko <mhannesy(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
  • Subject: Re: [GENERAL] trouble with to_char('L')
  • Date: Sun, 28 Feb 2010 10:13:56 -0500 (EST)
  • Message-id: <201002281513.o1SFDuw20144@momjian.us> <text/plain>

Bruce Momjian wrote:
> Hiroshi Inoue wrote:
> > Bruce Momjian wrote:
> > > Hiroshi Inoue wrote:
> > >> Bruce Momjian wrote:
> > >>> Where are we on this issue?
> > >> Oops I forgot it completely.
> > >> I have a little improved version and would post it tonight.
> > > 
> > > Ah, very good.  Thanks.
> > 
> > Attached is an improved version.
> 
> I spent many hours on this patch and am attaching an updated version.
> I have restructured the code and added many comments, but this is the
> main one:
> 
> 	*  Ideally, the server encoding and locale settings would
> 	*  always match.  Unfortunately, WIN32 does not support UTF-8
> 	*  values for setlocale(), even though PostgreSQL runs fine with
> 	*  a UTF-8 encoding on Windows:
> 	*
> 	*      http://msdn.microsoft.com/en-us/library/x99tb11d.aspx
> 	*
> 	*  Therefore, we must set LC_CTYPE to match LC_NUMERIC and
> 	*  LC_MONETARY, call localeconv(), and use mbstowcs() to
> 	*  convert the locale-aware string, e.g. Euro symbol, which
> 	*  is not in UTF-8 to the server encoding.
> 
> I need someone with WIN32 experience to review and test this patch.

I don't understand why cache_locale_time() works on Windows.  It sets
the LC_CTYPE but does not do any encoding coversion.  Do month and
day-of-week names not work either, or do they work and the encoding
conversion for numeric/money, e.g. Euro, it not necessary?

-- 
  Bruce Momjian  <bruce(at)momjian(dot)us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  PG East:  http://www.enterprisedb.com/community/nav-pg-east-2010.do



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group