Re: how to make collation work - Mailing list pgsql-novice
From | Havasvölgyi Ottó |
---|---|
Subject | Re: how to make collation work |
Date | |
Msg-id | 006501c54f5c$1a451e10$ab00a8c0@OTTO Whole thread Raw |
In response to | how to make collation work (Havasvölgyi Ottó <h.otto@freemail.hu>) |
List | pgsql-novice |
Volkan, I did not have the problem you had had, I mean the missing Hungarian (Turkish in your case) capital letters. I can load them into the table, and in the query all letters appear correctly, just the order is wrong. As the docs says, for upper() and lower() the lc-ctype switch is responsible. This determines what is a letter, and what letter is the capital pair of another letter. I have applied both lc-ctype, lc-collate switches with the hu_HU locale with no result. I will check glibc. Thanks for the suggestion. Best Regards, Otto ----- Original Message ----- From: "Volkan YAZICI" <volkan.yazici@gmail.com> To: "Havasvölgyi Ottó" <h.otto@freemail.hu> Sent: Monday, May 02, 2005 6:42 PM Subject: Re: [NOVICE] how to make collation work > Hi, > > On 5/2/05, Havasvölgyi Ottó <h.otto@freemail.hu> wrote: >> I passed the desired collation and ctype to initdb. >> The version of gcc is 3.4. Should I upgrade to 4.0 perhaps? > > Sorry I was mistaken. Just replace "gcc" words with "glibc" in my > previous reply. > > We have a similar problem for turkish characters too. For instance, > upper('ı') (dotless i) doesn't work on glibc < 2.3.4 version. I'm not > sure if Hungarian chars. have the same problem with glibc. I can only > advice you checking bug lists for Hungarian localization of glibc. > >> select upper('á'); >> >> I expected 'Á', but I got 'á'. So upper() didn't change this Hungarian >> character. > > A similar scenario: > > $ dpkg -l | grep libc6 > ii libc6 2.3.2.ds1-21 GNU C Library: Shared libraries and > Timezone > ii libc6-dev 2.3.2.ds1-21 GNU C Library: Development Libraries and > Hea > $ psql -l | grep sil > sil | knt | LATIN5 > $ psql sil > sil=> SET client_encoding TO LATIN5; > SET > sil=> SELECT upper('ı'); > upper > ------- > ı > (1 row) > -- It's not working. > > Furthermore, problems are not bounded with the above ones for Turkish > chars. You have to pass "-E UNICODE" param. to initdb too. (ISO-8859-9 > seems like a little bit buggy in here.) Anyway, I'm not so experienced > on localization. Just summarizing some threads discussed in Turkish > localization mailing lists. (Mostly, Devrim Gündüz worked on these > problems.) > > On the other hand, tövis said that he achieved to solve problems with > Hungarian chars. Maybe you can check your glibc and PostgreSQL > versions with him. > > Regards. >
pgsql-novice by date: