hi christian
Danke für deine sehr ausführliche antwort :-)
Deshalb ist es eh nicht das, was du suchst. Wenn du wirklich
locale-abhängiges matchen möchtest, musst du den UTF-8-Mode ausschalten
und ein Locale verwenden, dass einen 1-Byte-Kodierung verwendet. Das hat
aber nix mit setlocale() zu tun, sondern mit der libpcre, die in diesem
Punkt auf eher auf Performance als auf korrekten Support setzt.
hmm ... dann hab ich wohl ein paar dinge falsch interpretiert ;-) dass ich das /u wegnehmen muss für locale-basiertes matching ist mir tatsächlich nicht selbst eingefallen. was wohl auch damit zu tun hatte, dass mir das setzen der locale aus dem phpscript heraus nie wirklich gelungen ist :-(
welchen context überschreibt setlocale() nun? die server locale? die
prozess locale? die PHP-thread-weite locale? wie wirkt sich das aus wenn
php als CGI bzw. apache modul konfiguriert ist?setlocale() überschreibt das Prozess-Locale. Heisst, wenn du PHP in einem
Multithreaded-Kontext verwendest, etwa bei einem Apache-Worker-MPM, dann
überschreiben sich die setlocale()-Aufrufe gegenseitig. Ansonsten, in einer
„traditionellen“ Multi-Prozess-Umgebung wirkt sich das nicht gross weiter
auf andere Prozesse aus. Das Locale wird nach Beenden des Scripts wieder
zurückgesetzt (gehört mit zur Prozedur zur Wiederherstellung des
Environments), es wirkt sich also auch im Modul-Modus nicht auf den Apache
aus.
hm ... sehr informativ dieser teil hier. danke!
meine site würde z.b. beim aufruf einer seite im unterverzeichnis /de
eine andere locale setzen als bei aufruf einer seite in /pl. ich denke
dass dies ein ganz normales problem multilingualer seiten ist.Naja, „Problem“ ist übertrieben ;)
aber hallo, ich sitz da jetzt schon ein, zwei wochen dran an dieser unicode problematik. also für mich ist das zur verfügungstellen von content in verschiedenen sprachräumen durchaus ein 'problem' - zumindest so lang bis man es mal überwunden hat ;-)
Na, die Strategie ist schon ganz sinnvoll so, andere (inkl. mir) machen es
auch nicht anders. Aber gerade die Repräsentation nach aussen machen
Locales um vieles einfacher, vor allem deshalb, weil man damit gleich einen
ganzen Rutsch von Sprachen unterstützen kann ohne etwas am Source ändern zu
müssen – hat schließlich alles schonmal jemand aufgeschrieben, in den
Locale-Definitionen ;)
werde mir das nochmal durch den kopf gehen lassen, vorerst denke ich dass ich ohne der locale-customisierung auch ganz gut zurecht komme.
danke & lg,
bernhard