Bagaimana cara menetapkan Header yang tepat untuk JSON di Apache?

10

Saya memiliki server Apache yang melayani file JSON statis. Tipe Konten diwakili dengan benar di header dengan Content-Type: application/jsonheader.

Bagaimana cara menambahkan Charset yang benar ke header?

Saya memiliki baris berikut di httpd.conf:

AddDefaultCharset utf-8

tetapi bahkan dengan baris ini, Apache tidak mengatur rangkaian karakter di header.

Ini penting, karena file JSON saya memiliki beberapa data dalam bahasa Prancis, dan Aksen tidak dibaca dengan benar dalam Kode JavaScript.

Jadi bagaimana cara menetapkan Header yang tepat untuk JSON di Apache?

Devdatta Tengshe
sumber
Bagaimana file JSON Anda dikodekan? Karena JSON harus berupa UTF-8, UTF-16 atau UTF-32 hal lain tidak diperbolehkan dan hanya mengirim Charset yang berbeda tidak akan secara otomatis mengkonversi file.
lsmooth
JSON dikodekan dalam UTF-8
Devdatta Tengshe
@ lsmooth File yang disandikan dengan UTF-8 tidak cukup dalam beberapa keadaan, terutama yang melibatkan IE9 (mungkin lebih awal, juga); lihat di sini . Bahasa NSFW, tidak mengejutkan :-). Secara pribadi, saya mengalami masalah dengan jquery-datatables dan JSON tanpa header charset saat pengujian dengan IE9.
JK Laiho

Jawaban:

10

Anda dapat menggunakan kode berikut di httpd.conf Anda jika Anda memiliki akses, atau bahkan .htaccess Anda, untuk memaksa Apache, untuk mengirim header pengkodean UTF-8.

AddDefaultCharset utf-8
AddType 'application/json; charset=UTF-8' .json
Devdatta Tengshe
sumber
Saya sedang mencari cara untuk membuat Apache menyajikan file statis dengan pengkodean UTF-8, AddType akhirnya melakukan ini. Terima kasih!
Ján Lalinský
1

Anda dapat menambahkan ini ke httpd.conf

AddCharset utf8 .json
fengling229
sumber
1
Bagaimana itu lebih baik dari jawaban sebelumnya ?
kasperd