be.comp.os.linux
[Top] [All Lists]

Re: raar gedrag in fedora 10

Subject: Re: raar gedrag in fedora 10
From: ""
Date: Thu, 03 Dec 2009 14:11:30 +0100
Newsgroups: be.comp.os.linux


goarilla@work wrote:
Philip Paeps wrote:
Philip Paeps <philip+usenet@xxxxxxxx> wrote:
POSIX stelt dat de defaults van LC_* door LANG ingevuld worden. Vul hier mijn standaard paragraafje in over waarom localization fout en evil is. Als jouw LANG op een "natuurlijke" taal (alles behalve C of POSIX, ongeveer) gezet is,
vangt LC_COLLATE dat ook.

En [A-Z] volgens C is aanzienlijk meer intuitief dan [A-Z] in een natuurlijke taal. Een natuurlijke taal sorteert immers in "dictionary order", waarbij
hoofdletters voorrang hebben op kleine letters.

De "collated" set [A-Z] matcht met andere woorden AaBbCcDdEe..Zz.

Om even chapter en verse te citeren:

  In the POSIX locale, a range expression represents the set of collating
elements that fall between two elements in the collation sequence, inclusive.
  In other locales, a range expression has unspecified behavior: strictly
conforming applications shall not rely on whether the range expression is valid, or on the set of collating elements matched. A range expression shall be expressed as the starting point and the ending point separated by a hyphen
  ( '-' ).

Met andere woorden: als je een niet-POSIX locale hebt, kan je geen enkele
redelijke veronderstelling maken over range expressions in bracket
expressions.

Wat zei ik ook weer over localization fout en evil? Het is niet omdat ik er
niet elke keer een van de vele redenen bijschrijf dat het minder waar is.

 - Philip


dus het gedrag van LC_COLLATE="POSIX"

[A-Z] => AaBbCcDd ... is dus correct en het gedrag

van LC_COLLATE=C niet ?

laat maar ...

maar uit curiositeit wat is uw output van

locale

<Prev in Thread] Current Thread [Next in Thread>