Firefox wandelt Umlaute in HTML Code

  • Mal eine interessante Frage für Experten.
    Ich habe eine Bing-Suche auf der Webseite integriert.
    Das funktioniert soweit, bis der Suchbegriff einen Umlaut enthält.

    Gebe ich im Firefox z. B. ein:
    http://www.bing.com/search?q=Segeltörn
    so wird beim Drücken von Return umgewandelt in
    http://www.bing.com/search?q=Segelt%F6rn

    Das ö wird also durch den entsprechenden HTML Code ersetzt.
    Das wäre nicht weiter schlimm, aber Bing versteht diesen Code nicht und setzt ein falsches Suchwort ein.

    Opera macht das im Übrigen genau so, IE und Chrome machen das nicht.

    Ich denke, das ist kein Firefox-Problem, sondern ein BIng-Problem. Meine aktuelle Lösung ist, ö in oe zu wandeln. Oder hat jemand eine bessere Idee?

  • Zitat von Doc P

    Oder hat jemand eine bessere Idee?


    Das Problem liegt schlicht daran das du auf deiner Webseite (oder in deinem Browser?) eine andere Codierung als utf8 verwendest.
    Bing arbeite mit utf8 und stellt die Suche auch in utf8 dar.
    Wenn ich bing im FF direkt aufrufe und Segeltörn eingebe zeigt und findet bing auch Umlaute.

    http://www.bing.com/search?q=Segel…m=QBRE&filt=all

  • Danke, mit meiner Webseite hat es tatsächlich nichts zu tun. Ich bastele mir per Java Script die URL aus einem Eingabefeld zusammen.
    Mit UTF-8 hat es meiner Meinung nach auch nichts zu tun. Mein Firefox zeigt unter Ansicht-Zeichenkodierung tatsächlich Unicode (UTF-8) an. Wenn ich deinen Link klicke, erscheint das ö korrekt. Sobald ich aber dann in die Adresszeile gehe und dort noch mal Return drücke, wird das ö durch den HTML Code %F6 ersetzt und ich bekomme den Fehler. Der HTML Code sollte doch unabhängig von der sonstigen Zeichencodierung funktionieren? Warum kann Bing damit nichts anfangen?

  • Zitat von Doc P

    Sobald ich aber dann in die Adresszeile gehe und dort noch mal Return drücke, wird das ö durch den HTML Code %F6 ersetzt ...

    Quelle:
    http://de.wikipedia.org/wiki/URL-Encoding

    Code
    Nicht-ASCII-Zeichen
    ...
    In der empfohlenen Kodierung UTF-8 wäre der Buchstabe ö (mit dem Unicode-Zeichenwert 246) als %C3%B6 dargestellt.
    ...
    Meist wird immer noch ISO 8859-1 (Latin-1) für die Darstellung benutzt und dessen identischer Zeichenwert 246 (Dezimal) direkt mit Hilfe der %-Kodierung in die URL eingefügt. Der Umlaut ö  wird dann als Wert %F6 dargestellt.
    ...

    Noch eine Ergänzug dazu:
    google gibt gar keinen Zeichensatz (charset) an und überläßt es dem Browser wie es dargestellt wird.

    EDIT: 23-10-2010 - 19:52
    Du mußt unterscheiden zwischen Darstellung und Ausgabe (Inhalt) der Webseite (Server/Browser) bei einer Suche
    und umwandeln der URL (so wie im Beitrag beschrieben) in der Adresszeile des Browsers.
    Inhalt und URL sind 2 verschiedene Dinge/Abläufe.

  • Bitte hört mit eurem Streit auf, der ist absolut unproduktiv.
    Die Ausführungen von migosel haben mir sehr geholfen.
    Ich habe jetzt eine Routine integriert, die die eingegebenen Umlaute in den UTF-8 Code konvertiert. Damit funktioniert jetzt der Aufruf auch bei Umlauten.
    So ganz verstehe ich aber folgendes noch nicht:
    Wenn ich z. B. den Link von migosel mit dem Segeltörn aufrufe, ist das Ergebnis korrekt.
    Der Firefox zeigt mir dann auf der Bing-Seite unter Ansicht-Zeichenkodierung auch UTF-8 an.
    Sobald ich dann in die URL-Zeile gehe und Return drücke, wird der Umlaut nach ISO 8859-1 kodiert und das Bing Ergebnis ist falsch. Da muß es ja noch eine interne Einstellung für den Firefox geben, wie der die Umlaute in der Adresszeile kodiert und bei meiner Windows-Version macht er das offenbar immer nach ISO 8859-1, unabhängig davon, wie die angezeigte Seite kodiert ist.

  • Zitat von Doc P

    Ich habe eine Bing-Suche auf der Webseite integriert.

    Tja, hier wäre der Link angebracht gewesen, denn ...

    Zitat von Doc P

    Gebe ich im Firefox z. B. ein:
    http://www.bing.com/search?q=Segeltörn

    an dieser Stelle tritt das Biotop, in dem der Fx betrieben wird, auf die Bühne.

    Hier wird das ö immer nur als ö dargestellt. Eine Kodierung der Form

    Zitat

    kann in der Zwischenablage erst nach dem Aufruf von Bing beobachtet werden - die Anzeige innerhalb der Adressleiste ändert sich nicht.

    Empfehlung: Teste deine Seite auch unter einem UTF-8 fähigen OS.

  • Zitat von .Ulli

    Empfehlung: Teste deine Seite auch unter einem UTF-8 fähigen OS.


    *grins*
    Sehr dezente Werbung für ein nicht-Windows-System