Umlaute werden in der URL durch - ersetzt
Author: Ing. Michael Fürst (m.fuerst@bluegate.at)
Web: http://www.bluegate.at
Publiziert: Dezember 2007
Problembeschreibung
Wenn Sie das Direct URL Modul einsetzen und Umlaute in einem Kategoriebezeichner, einem Produktnamen oder einem Contentelement verwenden (ö,ä,ü etc.), werden diese in der URL durch einen Bindestrich anstelle durch ae, oe, ue ersetzt.
Beispiel:
Produktname: Lötstation "Ägypten" 4711
URL: www.shopname.de/products/l-tstation--gypten-4711
Problemanalyse
Direct URL ersetzt bei der Indizierung alle Umlaute in Groß- und Kleinschreibung (ä,ü,ö,Ä,Ü,Ö) durch das im deutschsprachigen Raum übliche Pendant (ae,ue,oe,AE,UE,OE). Auch viele weitere Zeichen werden ersetzt, da diese (genauso wie die Umlaute) in einer URL ungültig sind (Leerzeichen, Klammern etc.). Unbekannte Bezeichner werden durch einen - (Bindestrich) ersetzt, um die Gültigkeit der URL zu gewährleisten.
Bei der Indizierung der Daten, liest Direct URL die Bezeichner aus der Datenbank aus (Produktnamen, Kategoriebezeichner etc.). Und genau hier entsteht das Problem:
Es kann vorkommen, dass Ihre Umlaute nicht als "echte" Umlaute in der Datenbank gespeichert werden. Grund dafür ist zumeist eine falsche Einstellung der Charsets (Zeichensätze) bzw. der Kollation für die Datenbank bzw. den Webserver.
Sind die Zeichensätze falsch eingstellt, wird ein "ü" z.B. als "ü" in der Datenbank gespeichert. Indiziert Direct URL dann die Produkte, findet es in der Datenbank "ü" anstelle des "ü" vor, stuft es als unbekanntes Zeichen ein und ersetzt es mit einem - (Bindestrich) in der URL.
Lösung
Bei diesem Problem gibt es keine allgemein gültige Lösung. Prüfen Sie jedenfalls testweise (z.B. mit phpMyAdmin), wie die Umlaute bei Ihrem Bezeichner in der Datenbank gespeichert werden. Finden Sie in der Datenbank keine Umlaute sondern andere Zeichen vor (z.B. ü), dann liegt ein Problem mit der Kollation / dem Zeichensatz vor.
Bitte wenden Sie sich in diesem Fall an Ihrem Systemadministrator, der mit Ihnen das Problem genauer identifizieren und vermutlich auch durch umkonfigurieren des Servers lösen kann.




















