großbuchstaben eines string in kleinbuchstaben umwandeln

PHP:
$string = strlower("WeiNachTeN");

Gegenfunktion dazu (alles in Grossbuchstaben umwandeln)

PHP:
$string = strupper("WeiHnAcHteN");
 
...doch ein Problem:

Beachten Sie, dass 'Buchstaben' vom Wert locale abhängig ist.
Ist z. B. die Voreinstellung für locale "C", werden Sonderzeichen wie Umlaute (ä, ö, ü) nicht umgewandelt.

...was nun. Bei mir gibt es diese Voreinstellungen, die ich nicht ändern will - bei Windows kann man nur für den Prozess ändern, d.h. evt. andere Scripts beeinflussen.

Hat jemand eine Idee?
 
Danke für die prompte Antwort!

Zwischenzeitlich wollte ich das Problem schon mittels MySQL lösen, da meine Daten aus einer MySQL-Tabelle stammen:
Code:
SELECT *,LOWER(Spaltenname) AS SpaltennameKlein FROM Tabelle WHERE Bedingung

___________________________________

Ok, mb_strtolower finde ich jedoch eleganter!

Auf meinem Win 2003 System mit PHP 5.2.1 ist die mbstring Unterstützung jedoch abgeschaltet. Der Installer bietet keine Möglichkeit etwas einzustellen...

Die Datei php_mbstring.dll ist im System an der richtigen Stelle vorhanden:

Ich nehme an, ich muss etwas in der php.ini ändern?
Hier meine aktuellen Einstellungen:

PHP:
...

;extension=php_mbstring.dll

...

[mbstring]
; language for internal character representation.
;mbstring.language = Japanese

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
;mbstring.internal_encoding = EUC-JP

; http input encoding.
;mbstring.http_input = auto

; http output encoding. mb_output_handler must be
; registered as output buffer to function
;mbstring.http_output = SJIS

; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
;       portable libs/applications.
;mbstring.encoding_translation = Off

; automatic encoding detection order.
; auto means
;mbstring.detect_order = auto

; substitute_character used when character cannot be converted
; one from another
;mbstring.substitute_character = none;

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
;mbstring.func_overload = 0

; enable strict encoding detection.
;mbstring.strict_encoding = Off

...
____________________________________________

Gruß und Dank bis hierher sagt Hans-Martin
 
Zurück