![]() |
UpperCase von 'ü' = 'ü'
Hallo allerseits,
gibt es einen Trick, wo man auch Umlaute in UpperCase umwandeln kann ? UpperCase ('ü') ergibt nämlich auch 'ü' und nicht 'Ü' mfg Herbert |
Re: UpperCase von 'ü' = 'ü'
Hallo Herbert,
wie gefällt dir SysUtils.AnsiUppercase()? Grüße vom marabu |
Re: UpperCase von 'ü' = 'ü'
Programmier dir halt selbst eine kleine Funktion, die je nach Zeichen entweder UpperCase aufruft, oder selbst eingreift.
|
Re: UpperCase von 'ü' = 'ü'
Hallo marabu,
allerbesten Dank, genau das war's. mfg Herbert |
Re: UpperCase von 'ü' = 'ü'
UperCase und LowerCase ändern nur die Buchstaben A-Z und a-z ... Sonderzeichen, wie unseren deutschen Umlaute, werden ignoriert.
Dieses ist daher zu erklären, daß Uper-/LowerCase ncht auf einen bestimten Zeichensatz (wie z.B. ANSI) ausgelegt sind und es demnach diese Zeichen nicht unbedingt gibt. Außerdem steht folgendes in der OH: Zitat:
Und wenn ich mich recht erinnere, dann rufen diese Funktionen auch nur UpperChar/LowerChar auf, welches nur reine BitOperationen sind, welche wiederum etwa so definiert sind :mrgreen:
Delphi-Quellcode:
Function UpperChar(C: Char): Char;
Begin //If (C >= $41) and (C <= $5A) Then Result := C or $20; If C in ['A'..'Z'] Then Result := C or $20; End; // Char = Byte |
Re: UpperCase von 'ü' = 'ü'
Hallo nochmals,
der einseitige Vergleich funktioniert bereits, so wie es marabu geschrieben hat. Ich habe hier nur noch das Problem, dass ich einen Datenbank-Vergleich (Firebird) machen muss und da gibt es leider Schwierigkeiten, da der SQL-Befehl UPPER leider ebenfalls keine Umlaute konvertieren kann. Bis jetzt finde ich leider keine Lösung. Beispiel: In meiner DB ist einmal der Name Müller und ein anderes mal MÜLLER gespeichert. Ich möchte nun mit einer Select-Abfrage alle Müller, egal ob gross oder klein geschrieben selektieren. Aber dies ist ja schon wieder ein Thema für die Datenbank. mfg Herbert |
Re: UpperCase von 'ü' = 'ü'
Eventuell kommst du ja auch besser, wenn du beim Vergleich die Umlaute umwandelst.
z.B.: Ä und ä in ae Ö und ö in oe Ü und ü in ue ß in ss |
Re: UpperCase von 'ü' = 'ü'
Zitat:
|
Re: UpperCase von 'ü' = 'ü'
Eigentlich sollte das möglich sein, sogar für Tabellen und "Strings" einzeln.
|
Re: UpperCase von 'ü' = 'ü'
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Herbert,
hier eine kleine Code-Spende - falls doch niemand eine collation table mit der Eigenschaft case insensitive findet. marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz