Dennis: Umlaute auf Windows/Mac und PHP

Beitrag lesen

Hi Bernd,

  1. PHP arbeitet sehr schlecht mit Umlauten. Z.B. str_replace("ä", "ae", "Mäc") geht nicht. Unter Windows war das glaube ich möglich.

Diese Erfahrung habe ich kürzlich auch gemacht - allerdings mit geringfügig anderen Umständen: In einer UTF-8 enkodierten PHP-Datei stand sinngemäß folgendes:

$string = "Er ist dämlich.";  
echo str_replace("ä", "ä", $string);

Das Ergebnis war stehts nur Murks, irgendwie kommt PHP (noch?) nicht damit klar, zum gewünschten Ziel hat jedenfalls das hier geführt:

$string = "Er ist dämlich.";    // Weil PHP-Datei UTF-8 kodiert, ist  
                                // auch dieser String UTF-8 kodiert  
$string = utf8_decode($string); // UTF-8 dekodieren  
echo str_replace(chr(228), "ä", $string);  
                                // und Ersetzen mit nicht UTF-8 kodierten  
                                // Schriftzeichen durchführen

Eleganter lösen ließe sich das vermutlich mit der Multibyte String Extension, so man sie denn installiert hat - hab sie allerdings noch nie verwendet.

MfG, Dennis.