Mailinglisten-Archive |
Hallo,
bei der Frage wie man Umlaute in einer mysql Abfrage einigermassen sinnvoll sortiert bekommt habe ich mich fuer
die Methode mit replace() entschlossen.
Auf direkten Wege klappt auch alles nur mit php4 scheitere ich -- phpMyAdmin aber nicht (s.u.).
Auf direktem Wege klappt alles:
mysql> SELECT lastname, REPLACE(lastname,'ä','a') as de FROM auth ORDER BY de;
+---------------+---------------+
| lastname | de |
+---------------+---------------+
| Mädler | Madler |
| Meitzner | Meitzner |
| Moosbauer | Moosbauer |
| Müller | Müller |
+---------------+---------------+
4 rows in set (0.00 sec)
das gleiche resultat erhalte ich, wenn ich es in phpMyAdmin 2.2.0 ausfuehre.
versuche ich aber in meinem script folgendes funktioniert der replace nicht
$result = mysql_query("SELECT lastname, REPLACE(lastname,'ä','a') AS de FROM auth ORDER BY de");
while ($row = mysql_fetch_array($result)) {
echo $row["lastname"] . " " . $row["de"] ."<br>";
}
lastname de
Meitzner Meitzner
Moosbauer Moosbauer
Müller Müller
Mädler Mädler
wobei mich zusaetzlich noch irritiert, dass ä nach ü sortiert wird (ebenso in phpMyAdmin).
Kann bitte jemand erklaeren was hier schief laeuft und wo der Fehler liegt?
Vielen Dank
Mario
php::bar PHP Wiki - Listenarchive