Locale and pattern matching

From: Hélder M(dot) Vieira <hmv(at)mail(dot)telepac(dot)pt>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: Locale and pattern matching
Date: 2005-12-08 01:37:53
Message-ID: 001801c5fb98$025ac0f0$580bfea9@hmv02
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

A question about encoding, some days ago, led me to concentrate my attention
on the subject and perform a few tests on two different 8.1 installations,
configured as follows:

Machine 1 - pt_PT(Portuguese_Portugal.28591)/LATIN1
Machine 2 - pt_PT(Portuguese_Portugal.28605)/LATIN9

In both machines, case insensitive pattern matching designed to match the
letter 'A' will indeed match 'A' and 'a' but not the accented forms.
Generalizing, an accented or unaccented vowel in the pattern will only match
that vowel in upper or lowercase forms if the accent is the same as
specified in the pattern.
For instance, if the pattern specifies an uppercase 'A' with an accute
accent, then it will match a lowercase 'A' with an accute accent, but not an
upper or lower case 'A' with a tilde.
This behaviour seems inconsistent with that of the ORDER BY clause, which
considers all forms of a vowel as equal (uppercase/lowercase,accented/not
accented).
Shouldn't case insensitive pattern matching follow the same collation
weights that ORDER BY uses ?
Can someone please elaborate on this subject ?

Another question, for european users:
Until now, I've been selecting LATIN1 encoding, but after a few tests, I
came to think that LATIN9 is a better option (the euro sign...).
For those who regularly use LATIN9, what is your opinion ? Is it indeed a
better option ?

Thank you.

Hélder M. Vieira

LATIN CAPITAL LETTER A WITH GRAVE

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Keith Worthington 2005-12-08 02:03:05 dow question
Previous Message Leif B. Kristensen 2005-12-07 23:43:18 Re: Error from trigger