Warum haben einige Websites? Utf8 = ✓ in ihrem Titel?

70

Ich habe festgestellt, dass viele Websites beim Suchen oder Surfen eine get-Variable namens aufrufen utfund sie einem Häkchen ( ?utf8=✓) gleichsetzen .

Zwei Beispiele sind:

  • Die Such-URL von Dotabuff enthält sie. Beispiel: dotabuff.com/search?utf8=✓&q=PPD

  • Bibme hat auch seine Such-URL enthalten. Beispiel: bibme.org/mla/website-citation/search?utf8=✓&q=someurl.com

Jon
quelle

Antworten:

83

URIs enthalten utf8=✓, um den Client zum Senden von UTF-8 zu zwingen.
Dies funktioniert, weil das Schlüssel-Wert-Paar (das vom Ziel ignoriert wird) ein Nur-Unicode-Zeichen enthält.

Von Ist die Verwendung von "utf8 = ✓" der Verwendung von "utf8 = true" vorzuziehen? ::

Standardmäßig senden ältere Versionen von IE (<= 8) nach Möglichkeit Formulardaten in Latin-1-Codierung. Durch das Einfügen eines Zeichens, das nicht in Latin-1 ausgedrückt werden kann, muss der IE für seine Formularübermittlungen die UTF-8-Codierung verwenden, was verschiedene Backend-Prozesse vereinfacht, z. B. die Datenbankpersistenz.

Wenn der Parameter stattdessen utf8=truewäre, würde dies die UTF-8-Codierung in diesen Browsern nicht auslösen.

Deduplikator
quelle
17
Gibt es einen Grund, warum IE ein anderes Latein als IE verwenden würde?
Jon
10
Nein, es gibt schon lange keinen Grund mehr.
Deduplikator
2
Fairerweise gibt es je nach Einrichtung des Servers keine Garantie, utf8=✓die vom Server tatsächlich ignoriert wird, da der Server Zugriff auf die gesamte URL hat. Wenn es sich um eine Site handelt, die sie verwendet, wird sie vom Server wahrscheinlich für nichts verwendet.
M. Justin
1
@Frank aus irgendeinem Grund verwenden alle / die meisten IE-Produkte (z. B. Outlook / OWA) standardmäßig die Latin-1-Codierung, sofern nicht anders konfiguriert. Ich gehe davon aus, dass Interoperabilität (?) Einer der möglichen Gründe ist.
Jungvogel
4
GitLab macht das Gleiche. Ich sagte: "Wie ist das erlaubt, mit all der URl-Codierung, die wir normalerweise tun müssen, um Sonderzeichen in der vollständigen URL zu umgehen?" Perfekte Antwort.
TinkerTenorSoftwareGuy