setlocale + ctype_alpha
Hallo,
ich habe ein ziemlich verrücktes Problem entdeckt. Die Funktion ctype_alpha kennt ja keine Umlaute wie äöü und auch das scharfe ß ist ihr fern. Wenn ich aber mit setlocale den Zeichensatz angebe, dann funktioniert ctype_alpha korrekt. PHP-Code:
Jetzt will ich ctype_alpha direkt in meinen Skripten anwenden, als Ergebnis kommt aber fast immer FALSE raus, obwohl ja setlocal gesetzt ist. Die Datei hat folgenden Aufbau: PHP-Code:
Wie kann das sein? Enweder ctype_alpha kennt die Umlaute oder nicht. Warum nur das ü und warum nur als Kleinbuchstabe? Sicher gibt es auch andere Wege für die Überprüfung eines Strings, aber wieso funktioniert ctype_alpha in der session.php Datei einwandfrei und im darunterliegenden Skript (in derselben Datei!) nicht mehr? Warum wird von den Umlauten immerhin doch noch 1 erkannt? Bin für Tipps dankbar Gruß Auf der Mauer |
AW: setlocale + ctype_alpha
1.
Zitat:
|
AW: setlocale + ctype_alpha
Hallo Meikel,
danke für die Antwort! Die PHP Version ist 5.2.17. Bedeutet das, dass ich die setlocale nicht allgemein in die session.php schreiben soll, da es keinen Vorteil bringt? Normalerweise können ja mehrere php Dateien problemlos ineinander verschachtelt sein. In dem Fall dachte ich, dass setlocale für alle Dateien gilt, welche in dieser Datei mit eingebunden sind. Also MUSS setlocale wohl direkt an der Stelle eingebunden werden an der es benötigt wird. Gruß Auf der Mauer |
AW: setlocale + ctype_alpha
Zitat:
http://www.php.net/archive/2012.php#id2012-08-16-1 Zitat:
Mit (fast)CGI haste da bessere Karten, weil dann der Apache einen CGI Prozeß für das betreffende Script generiert. Beim apache2handler biste auf die Gnade der 99 Nachbarn angewiesen, daß die dann kein setlocale verwenden. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:39:56 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.