Jak ustawić odpowiednie nagłówki dla JSON w Apache?


10

Mam serwer Apache, który podaje statyczne pliki JSON. Typ zawartości jest poprawnie reprezentowany w nagłówku za pomocą Content-Type: application/jsonnagłówka.

Jak dodać prawidłowy zestaw znaków do nagłówka?

Mam w moim wierszu następującą linię httpd.conf:

AddDefaultCharset utf-8

ale nawet przy tej linii Apache nie ustawia zestawu znaków w nagłówku.

Jest to ważne, ponieważ moje pliki JSON zawierają pewne dane w języku francuskim, a akcenty nie są poprawnie odczytywane w kodzie JavaScript.

Jak więc ustawić odpowiednie nagłówki dla JSON w Apache?


Jak są zakodowane twoje pliki JSON? Ponieważ JSON MUSI być UTF-8, UTF-16 lub UTF-32, wszystko inne jest niedozwolone, a samo wysłanie innego zestawu znaków nie spowoduje automatycznej konwersji plików.
lsmooth

JSON jest zakodowany w UTF-8
Devdatta Tengshe

@lsmooth Plik kodowany za pomocą UTF-8 jest w niektórych okolicznościach niewystarczający, szczególnie w przypadku IE9 (być może także wcześniej); patrz tutaj . Język NSFW, nic dziwnego :-). Osobiście napotkałem problemy z jquery-datatables i JSON bez nagłówków zestawu znaków podczas testowania z IE9.
JK Laiho

Odpowiedzi:


10

Możesz użyć następującego kodu w httpd.conf, jeśli masz dostęp, a nawet .htaccess, aby wymusić Apache, aby wysłać nagłówek kodowania UTF-8.

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

Szukałem sposobu, aby Apache obsługiwał pliki statyczne z kodowaniem UTF-8, AddType w końcu to zrobił. Dzięki!
Ján Lalinský

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.