2014-12-07 5 views
42

Ho notato che molti siti Web, durante la ricerca o semplicemente la navigazione, aggiungono una variabile get chiamata utf e la impostano uguale a un segno di spunta (?utf8=✓).Perché alcuni siti web hanno? Utf8 = ✓ nel loro titolo?

Due esempi sono:

  • Dotabuff ha il suo URL di ricerca includerlo. Esempio: dotabuff.com/search?utf8=✓ & q = PPD

  • Bibme ha anche incluso il suo URL di ricerca. Esempio: bibme.org/mla/website-citation/search?utf8=✓ & q = someurl.com

risposta

51

URI contengono utf8=✓ per forzare il client per inviare UTF-8.
Funziona perché la coppia chiave-valore (che viene ignorata dal server) contiene un carattere unicode-only.

Da Is the use of “utf8=✓” preferable to “utf8=true”?: versioni

Per impostazione predefinita, precedenti di IE (< = 8) potranno inviare dati del modulo in Latin-1 codifica, se possibile. Includendo un carattere che non può essere espresso in Latin-1, IE è obbligato a utilizzare la codifica UTF-8 per i suoi invii di moduli, il che semplifica vari processi di back-end, ad esempio la persistenza del database.

Se il parametro era invece utf8=true, questo non attiverebbe la codifica UTF-8 in questi browser.

+10

C'è una ragione per cui IE userebbe il latino oltre che essere IE? – Frank

+6

No, non c'è motivo per molto tempo ora. – Deduplicator

+1

In tutta onestà, a seconda di come è stato impostato il server, non è garantito che 'utf8 = ✓' sia effettivamente _ignored_ dal server, poiché il server ha accesso all'intero URL. Anche se è un sito che lo sta usando, _probably_ non viene usato per niente dal server. –