[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
case sensitive string functions and l10n
From: |
Bjoern JACKE |
Subject: |
case sensitive string functions and l10n |
Date: |
Sun, 31 Aug 2003 21:21:00 +0200 |
User-agent: |
Mutt/1.5.3i |
Hi,
localization brings a lot of trouble with string functions which do
*very* different things in different locales:
export LC_ALL=tr_TR
echo I | tr [:upper:] [:lower]
... results in a dotless i.
export LC_ALL=tr_TR.UTF-8
echo I | tr [:upper:] [:lower]
... results in the "normal" i.
This is a strange inconsitency anyway.
But I would say it is not sane at all if major functions like
tolower() and toupper() are being localozed and are no longer ASCII
compatible.
This caused a lot of troube for mutt 2 years ago, where we had to
introduce ascii versions of case sensitive functions, becuase "ASCII"
or "ISO" was no longer the same as "ascii" or "iso". CUPS had the same
problem still a few weeks ago and now I see, lynx has the same
"turkish" problem (imagine to write html tags with non-ascii
characters and expect this to work), where this functions everyone
uses everyday suddenly are no longer ascii compatible.
Wouldn't it be better to introduce localized versions of this
functions and giver them a different name? This is such a major source
of errors that the tr_TR locale (maybe others, too) are quasi
unusable. In the meantime I must admit I consider l10n at this point
as really broken. You cannot demant that programmers switch to C
locale each time they expect the function to be ASCII compatible.
Bjoern
pgpJKERhTAlIM.pgp
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- case sensitive string functions and l10n,
Bjoern JACKE <=