Як встановити належні заголовки для JSON в Apache?


10

У мене є сервер Apache, який обслуговує статичні файли JSON. Тип вмісту правильно представлений у заголовку із Content-Type: application/jsonзаголовком.

Як додати правильний Charset до заголовка?

У мене є такий рядок httpd.conf:

AddDefaultCharset utf-8

але навіть з цим рядком Apache не встановлює шапку у заголовку.

Це важливо, оскільки у моїх файлах JSON є деякі дані французькою мовою, а акценти не читаються належним чином у коді JavaScript.

Тож як правильно встановити заголовки для JSON в Apache?


Як закодовані ваші JSON-файли? Оскільки JSON БУДЬ або UTF-8, UTF-16 або UTF-32, що-небудь інше заборонено, і просто надіслати інший Charset не буде автоматично перетворювати файли.
lsmooth

JSON закодований у UTF-8
Devdatta Tengshe

@lsmooth Файл, що кодується UTF-8, за певних обставин недостатньо, особливо це стосується IE9 (можливо, і раніше); дивіться тут . Мова NSFW, не дивно :-). Особисто я зіткнувся з проблемами jquery-datatables та JSON без заголовків charset під час тестування з IE9.
Дж. К. Лайхо

Відповіді:


10

Ви можете використовувати такий код у своєму httpd.conf, якщо у вас є доступ, або навіть ваш .htaccess, щоб змусити Apache надіслати заголовок кодування UTF-8.

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

Я шукав спосіб змусити Apache обслуговувати статичні файли з кодуванням UTF-8, AddType нарешті зробив це. Дякую!
Ján Lalinský

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.