¿Cómo configuro los encabezados adecuados para JSON en Apache?


10

Tengo un servidor Apache que está sirviendo archivos JSON estáticos. El tipo de contenido se representa correctamente en el encabezado con un Content-Type: application/jsonencabezado.

¿Cómo agrego el juego de caracteres correcto al encabezado?

Tengo la siguiente línea en mi httpd.conf:

AddDefaultCharset utf-8

pero incluso con esta línea, Apache no establece el conjunto de caracteres en el encabezado.

Esto es importante, porque mis archivos JSON tienen algunos datos en francés, y los Acentos no se leen correctamente en el Código JavaScript.

Entonces, ¿cómo configuro los encabezados adecuados para JSON en Apache?


¿Cómo se codifican sus archivos JSON? Debido a que JSON TIENE que ser UTF-8, UTF-16 o UTF-32, cualquier otra cosa no está permitida y solo enviar un Charset diferente no convertirá automáticamente los archivos.
lsmooth

El JSON está codificado en UTF-8
Devdatta Tengshe

@lsmooth El archivo que se codifica con UTF-8 no es suficiente en algunas circunstancias, especialmente cuando se trata de IE9 (posiblemente también antes); ver aquí . Lenguaje NSFW, como era de esperar :-). Personalmente, he encontrado problemas con jquery-datatables y JSON sin encabezados charset al probar con IE9.
JK Laiho

Respuestas:


10

Puede usar el siguiente código en su httpd.conf si tiene acceso, o incluso su .htaccess, para forzar a Apache a enviar un encabezado de codificación UTF-8.

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

Estaba buscando una manera de hacer que Apache sirviera archivos estáticos con codificación UTF-8, AddType finalmente lo hizo. ¡Gracias!
Ján Lalinský

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.