Come posso impostare le intestazioni corrette per JSON in Apache?


10

Ho un server Apache che serve file JSON statici. Il tipo di contenuto è rappresentato correttamente nell'intestazione con Content-Type: application/jsonun'intestazione.

Come posso aggiungere il set di caratteri corretto all'intestazione?

Ho la seguente riga nel mio httpd.conf:

AddDefaultCharset utf-8

ma anche con questa riga, Apache non imposta il set di caratteri nell'intestazione.

Questo è importante, perché i miei file JSON contengono alcuni dati in francese e gli Accenti non vengono letti correttamente nel codice JavaScript.

Quindi, come posso impostare le intestazioni corrette per JSON in Apache?


Come vengono codificati i tuoi file JSON? Poiché JSON DEVE essere UTF-8, UTF-16 o UTF-32 non è consentito nient'altro e il solo invio di un Charset diverso non converte automaticamente i file.
Smooth

Il codice JSON è codificato in UTF-8
Devdatta Tengshe il

@lsmooth Il file in fase di codifica con UTF-8 non è sufficiente in alcune circostanze, specialmente con IE9 (forse anche prima); vedi qui . Linguaggio NSFW, ovviamente :-). Personalmente, ho riscontrato problemi con jquery-datatables e JSON senza intestazioni di set di caratteri durante i test con IE9.
JK Laiho,

Risposte:


10

Puoi usare il seguente codice nel tuo httpd.conf se hai accesso, o anche il tuo .htaccess, per forzare Apache, per inviare un'intestazione di codifica UTF-8.

AddDefaultCharset utf-8
AddType 'application/json; charset=UTF-8' .json

Stavo cercando un modo per fare in modo che Apache servisse file statici con codifica UTF-8, AddType alla fine ha fatto questo. Grazie!
Ján Lalinský,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.