Hallo,
es geht um eine Intranet-Anwendung die auf FF und IE laufen soll (aktuelle Versionen). Das Problem ist wahrscheinlich ein HTML-Problem, weswegen ich es in dieser Kategorie gepostet habe.
Zum Umfeld: Es geht um eine PHP-Anwendung die auf eine Datenbank zugreift und UTF-8 ist zwingend notwendig, weil da Daten in vielen verschiedene Sprachen gespeichert und angezeigt werden. Und damit meine im Quelltext vorhandenen Umlaute auch korrekt dargestellt werden, sind die PHP- und JS-Quelldateien auch im UTF-8 Format gespeichert. Als das Ganze zuvor noch mit cp1252 lief trat das Problem nicht auf.
An einer bestimmten Stelle werden per URL Parameter übergeben in der Form
http://.../seite.php?param1=«wert1» «wert2»
Aber in den Browsern kommt der Query-String unterschiedlich an. Im IE wird « als « und im FF als « angezeigt. Ich dachte eigentlich, dass die Entities überall gleich konvertiert werden.
Weiß jemand eine einfache Antwort, warum das so ist und ob ich das vermeiden kann?
Ich hab das in PHP jetzt so gelöst, dass ich einfach beide Möglichkeiten ersetze, bin damit aber nicht besonders glücklich.
$itemVal = str_replace(array("«", "»", "«", "»"), array("«", "»", "«", "»"), $itemVal);
Alternativ könnte ich wahrscheinlich auch in der URL gleich « und » angeben, aber das wird von dutzenden Stellen aus aufgerufen, wäre viel Aufwand und würde die Lesbarkeit an den verschiedenen Quellcodestellen deutlich verringern.
Weiß jemand eine bessere Alternative?
Im Voraus vielen Dank,
keyboarder