# großbuchstaben eines string in kleinbuchstaben umwandeln



## Mr. FISHMAN (8. Januar 2003)

Hi,

gibt es eine funktion, mit der man
folgendes machen kann:

$var = "WeiHnAchtEn";

//funktion

echo $var

=>  weihnachten

please help

grtz MrF


----------



## Fabian H (8. Januar 2003)

```
$string = strlower("WeiNachTeN");
```

Gegenfunktion dazu (alles in Grossbuchstaben umwandeln)


```
$string = strupper("WeiHnAcHteN");
```


----------



## sam (8. Januar 2003)

strtolower()


----------



## Fabian H (8. Januar 2003)

uhuups!!

und dementsprechend auch: 

*kacke* *rotwerd*

strtoupper


----------



## Mr. FISHMAN (8. Januar 2003)

thx

Das ging ja echt schnell...

DANKE 

grtz MRF


----------



## Fabian H (8. Januar 2003)

no problem


----------



## hmaurich (12. September 2007)

...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?


----------



## Admi (12. September 2007)

mb_strtolower


----------



## hmaurich (12. September 2007)

Danke für die prompte Antwort!

Zwischenzeitlich wollte ich das Problem schon mittels MySQL lösen, da meine Daten aus einer MySQL-Tabelle stammen:

```
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:


```
...

;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


----------



## Flex (13. September 2007)

Auf der Übersichtsseite zu den Multibyte String Funktionen gibts ebenfalls Beispiele für eine php.ini Konfiguration.


----------



## hmaurich (13. September 2007)

Das sind also nun meine Einstellungen in der php.ini:

...
extension=php_mbstring.dll
...
[mbstring]

mbstring.language = all
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = on

*Wichtig ist noch:* Bei mir, unter Windows 2003 mit IIS 6, PHP 5.2.1 ist es die Datei *c:\PHP\php.ini*


----------

