Sven Rautenberg: Probleme bei UTF-8 und str_replace()

Beitrag lesen

Moin!

Habe das strlower() mal entfernt. Nun ist die schwarze Box weg.

Allerdings macht folgende Funktion str_replace() GARNICHTS.

Simpel: Deine Umlaute werden nicht gefunden, weil du sie in $search nicht als UTF-8 codiert hast.

Wenn dein Editor kein UTF-8 beherrscht, hast du es natürlich schwer, dir aus den Unicode-Tabellen und den (eigentlich recht einfachen) Umsetzungsregeln für UTF-8 die passenden Zeichen selbst raussuchen zu müssen.

strtolower() funktioniert aus demselben Grunde nicht: Die Funktion erkennt die UTF-8-Zeichen nicht, sondern zerstört diese.

Du solltest dich deshalb mal über die "Multibyte String Functions" informieren: http://de3.php.net/mbstring Nur mit denen hast du überhaupt eine Chance, UTF-8 in PHP zerstörungsfrei zu bearbeiten (das reine durchreichen von Strings, deren Inhalt aber nicht verändert wird, geht mit PHP auch so sehr gut).

PHP:
$search =  array("ä", "Ä", "ü", "Ü", "ö", "Ö", "ß");

- Sven Rautenberg