charset Perché alcuni browser sembrano richiedere un set di caratteri UTF-8 sui dati JSON per la visualizzazione?



javascript caratteri accentati (1)

Quindi vedo A: Qual è il tipo di contenuto JSON corretto? - application/json e Why intestazione del tipo di contenuto da utilizzare per json? "application / json; charset = utf-8" o "application / json"? e cosa significa veramente "Content-type: application / json; charset = utf-8"?

Come notato qui, RFC 7159 dice che la codifica predefinita per JSON è utf-8 e nota che:

Nessun parametro "charset" è definito per questa registrazione. L'aggiunta di uno non ha alcun effetto sui destinatari conformi.

Tuttavia, in realtà, alcuni browser almeno (Safari e Firefox) sembrano applicare "auto-detect" ai dati JSON a meno che non venga aggiunto un parametro charset (vedere questo ticket archiviato contro di me e anche la relativa domanda SO collegata sopra). Non ho testato le implementazioni XMLHTTPRequest quindi non posso dire in alcun modo. Presumo che gestiscano correttamente l' application/json .

Quindi penso che la mia domanda sia leggermente diversa - per la visualizzazione nel browser , è necessario il set di caratteri perché il display JSON incorporato di questi browser non è effettivamente conforme a RFC?






utf-8