Thread: Latvian language & upper & lower

Latvian language & upper & lower

From
Lauris Bukshis
Date:
I have postgresql 7.3.2 on Mandrake 9.1.

pg_controldata returns:
LC_COLLATE:                           lv_LV.UTF-8
LC_CTYPE:                             lv_LV.UTF-8

but when making upper or lower on any text latvian symbols stays on the 
same case. And I can't get lower and upper to work correctly :( Is there 
any such way to get them work correctly? :)

Thanx anyway :)
Lafriks



Re: Latvian language & upper & lower

From
Peter Eisentraut
Date:
On Mon, 7 Jul 2003, Lauris Bukshis wrote:

> LC_COLLATE:                           lv_LV.UTF-8
> LC_CTYPE:                             lv_LV.UTF-8
>
> but when making upper or lower on any text latvian symbols stays on the
> same case. And I can't get lower and upper to work correctly :( Is there
> any such way to get them work correctly? :)

You can only expect this to work if the data in your database is in UTF-8.
If you store them in ISO 8859-x you need to select a different locale,
probably named lv_LV.

-- 
Peter Eisentraut   peter_e@gmx.net


Re: Latvian language & upper & lower

From
Tatsuo Ishii
Date:
> On Mon, 7 Jul 2003, Lauris Bukshis wrote:
> 
> > LC_COLLATE:                           lv_LV.UTF-8
> > LC_CTYPE:                             lv_LV.UTF-8
> >
> > but when making upper or lower on any text latvian symbols stays on the
> > same case. And I can't get lower and upper to work correctly :( Is there
> > any such way to get them work correctly? :)
> 
> You can only expect this to work if the data in your database is in UTF-8.
> If you store them in ISO 8859-x you need to select a different locale,
> probably named lv_LV.

I think even if the data in his database is in UTF-8, upper() or
lower() won't work. See the source code.

The only workaround would something like this:

select convert(lower(convert(table_col, 'ISO-8859-x')),'ISO-8859-x','UNICODE')
from your_table;
--
Tatsuo Ishii