Bernd Wurst wrote:
> Hallo.
> 
> Am Montag, 12. Oktober 2009 schrieb Stephan Knauss:
>> Ich bin dafür, dass die keys nur aus Kleinbuchstaben bestehen. Hier zu
>> viele Sonderzeichen zu erlauben erzeugt doch nur Verwirrung.
>> Brauchen wir diese Freiheit wirklich?
> 
> Ich bin dafür, dass jeder, der die Daten nutzt (und folglich weiß, ob er 
> case-sensitive Infos erwartet) einfach ggf. ein "lower()" [je nach Sprache] 
> aufruft. Das schränkt niemanden ein und löst das Problem auch.

Dann stell mal dein locale auf Türkisch und versuch ein lower("I").

Das Ergebnis ist dann nicht "i" sondern (soweit ich mich erinnere) "ÿ".

D.h. selbst wenn die Eingangsdaten nur reine 7bit ASCII Zeichen
benutzen und keinerlei nationale Sonderzeichen ist nicht garantiert
das das Ergebnis von lower() auch nur aus ASCII Zeichen besteht ...

Case insensitive Benamsung in Zusammenhang mit Internationalisierung/
Lokalisierung geht wegen solcher nicht eindeutigen Groß/Klein
Abbildungen immer irgendwann nach hinten los.

PS: das hat damals einige Zeit gedauert im PHP Land bis mal
    irgendwem aufgefallen ist das die meisten der "Die Image-
    Funktionen sind nicht verfügbar obwohl die entsprechende
    Extension geladen ist" von türkischen Benutzern stammten
    und da ein kausaler Zusammenhang besteht ...

    PHP ist leider ein gutes Beispiel für die Fallstricke
    von Case Insensitve Identifiern im internationalen Umfeld.
    Mittlerweile benutzt die Zend Engine intern nur noch
    das US ASCII Mapping für Case Insesitive Vergleiche und
    wird damit für alle nationalen Sonderzeichen wieder
    Case Sensitive, was neben der eh schon inkonsistenten
    "Funktionen sind case insensitve, Variablen case sensitive
    und Konstanten je nach Deklaration das eine oder das andere"
    die Identifier Vergleichsregeln noch undurchschaubarer
    macht ... leider gibt es keine Möglichkeit das gerade
    zu ziehen und dabei gleichzeitig rückwärtskompatibel
    zu bleiben. Diese spezielle Büchse der Pandora lässt
    sich nun nicht mehr einfach schließen :(





-- 
Hartmut Holzgraefe, MySQL Regional Support Manager, EMEA

Sun Microsystems GmbH, Sonnenallee 1, 85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB161028
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering

_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an