• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Umlaute ersetzen

mahype

New member
Hallo zusammen,

ich will Daten aus einer Datenbank auslesen und die Umlaute ä, ö ü etc. gegen ae, oe und ue austauschen. Das mache ich eigentlich so:

PHP:
$string=str_replace("ä","ae",$string);
$string=str_replace("ö","oe",$string);
$string=str_replace("ü","ue",$string);
        
$string=str_replace("Ä","Ae",$string);
$string=str_replace("Ö","Oe",$string);
$string=str_replace("Ü","Ue",$string);

Allerdings werden die Umlaute einfach nicht ausgetauscht. Es werden zwar Leerzeichen und andere Zeichen ausgetauscht, allerdings nicht die Umlaute.

Die Kollation für dieses Feld in MySQL ist auf "latin1_swedish_ci" gestellt, allerdings hat auch ein Umstellen auf "latin1_german2_ci" umgestellt und es funktioniert immer noch nicht.

Hat jemand eine Idee?

Sven
 
hast du die kommentare in der doku zu str_replace schon durchgeschaut?

wie sieht es mit dem encoding der mysql-verbindung aus? die muss nicht gleich sein wie die kollation. in welchem format wurde die php-datei abgespeichert?
 
Bist du sicher, dass du auch mit der richtigen Variable arbeitest? Der Code ist korrekt, deshalb vermute ich, dass da was anderes nicht stimmt!
 
jo code is korrekt ..
kleiner Tipp benutz search und replace arrays .. is nicht soviel schreib arbeit
PHP:
$search = array('Ä', 'Ö', 'Ü');
$replace = array('Ae', 'Oe', 'Ue');
$string = str_replace($search, $replace, $string);
 
Zurück
Oben