Как установить правильные заголовки для JSON в Apache?

10

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

Как добавить правильный заголовок в заголовок?

У меня есть следующая строка в моем httpd.conf:

AddDefaultCharset utf-8

но даже с этой строкой Apache не устанавливает кодировку в заголовке.

Это важно, потому что мои JSON-файлы содержат некоторые данные на французском языке, и Акценты не читаются должным образом в коде JavaScript.

Итак, как мне установить правильные заголовки для JSON в Apache?

Девдатта Тенгше
источник
Как кодируются ваши JSON-файлы? Поскольку JSON ДОЛЖЕН быть UTF-8, UTF-16 или UTF-32, все остальное запрещено, и просто отправка другого Charset не приведет к автоматическому преобразованию файлов.
Смарт
JSON кодируется в UTF-8
Devdatta Tengshe
@lsmooth Файл, кодируемый с помощью UTF-8, в некоторых случаях недостаточен, особенно с использованием IE9 (возможно, и раньше); см здесь . Язык NSFW, что неудивительно :-). Лично я столкнулся с проблемами с jquery-datatables и JSON без заголовков наборов символов при тестировании с IE9.
JK Laiho

Ответы:

10

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

AddDefaultCharset utf-8
AddType 'application/json; charset=UTF-8' .json
Девдатта Тенгше
источник
Я искал способ заставить Apache обслуживать статические файлы с кодировкой UTF-8, и, наконец, это сделал AddType. Спасибо!
Ян Лалинский