[Allegro] Suche, Unicode und Internet-Explorer

Thomas Berger ThB at Gymel.com
Do Mai 14 08:57:58 CEST 2015


Am 13.05.2015 um 18:06 schrieb Fischer, Thomas:
> Hallo Her Berger,
> 
>>> Herr Lehmann hat mich auf ein Problem mit dem Internet Explorer aufmerksam gemacht: Links der Art
>>> http://www.biblio.tu-bs.de/db/katalog/page.php?urG=PER&urS=Müller
>>
>> Das ist keine legale URL. Wenn Sie so etwas zusammenbauen, sind Sie
>> selber schuld. Wenn phpac so etwas zusammenbaut, ist das ein Bug.
> 
> Wieso ist das illegal?
> Je nach Browser wird das so oder anders (z.B. mit M%C3%BCller) in der Adresszeile angezeigt.
> Wie soll ich wissen, was da steht?
> Wie können Sie wissen, ob in diesem Brief Müller oder Müller steht?
> 
>>> Korrekt erscheint hingegen
>>> http://www.biblio.tu-bs.de/db/katalog/page.php?urG=PER&urS=M%C3%BCller
>>
>> das *ist* korrekt
>>
>>
>>> oder
>>> http://www.biblio.tu-bs.de/db/katalog/page.php?urG=PER&urS=Müller.
>>
>> auch keine legale URL.
> 
> Auch hier geben Sie keinen Grund an.

Es gibt Standards, z.B. RFC 3986
< https://tools.ietf.org/html/rfc3986 >.

In HTML 4.01 ist allerdings das href-Attribut vom Typ CDATA, d.h.
technisch gesehen ist es immer noch korrektes HTML, obwohl eine
formal unmoegliche URL darin steht. Umgekehrt werden ins href-Attribut
haeufig nackte "&" hineingesetzt, das ist zwar URL-technisch korrekt,
aber illegales HTML...

Insofern haben Sie recht, die Browser (bzw. andere User Agents) /muessen/
hier staendig eingreifen, das was da steht kann nicht 1:1 ueber HTTP
angefordert werden.

Ihre Beschreibung aus der vorigen Mail laesst mich raten, dass in Ihrer
Situation in ein als UTF-8 codiert deklariertes HTML-Dokument eine URL
mit Sonderzeichen eingebettet ist, die auch in Bezug auf UTF-8 ein
illegales Zeichen sind, anscheinend ein Latin1-codiertes ein-Byte "ü".
Selbst diesen Doppelfehler koennen dann manche Browser noch reparieren,
aber wohl nicht alle...

viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro