Làm cách nào để tôi đặt Tiêu đề thích hợp cho JSON trong Apache?


10

Tôi có một máy chủ Apache đang phục vụ các tệp JSON tĩnh. Loại nội dung được trình bày chính xác trong tiêu đề bằng một Content-Type: application/jsontiêu đề.

Làm cách nào để thêm Bộ ký tự chính xác vào tiêu đề?

Tôi có dòng sau đây trong httpd.conf:

AddDefaultCharset utf-8

nhưng ngay cả với dòng này, Apache không đặt bộ ký tự trong tiêu đề.

Điều này rất quan trọng, vì các tệp JSON của tôi có một số dữ liệu bằng tiếng Pháp và Dấu không được đọc chính xác trong Mã JavaScript.

Vậy làm cách nào để tôi đặt Tiêu đề thích hợp cho JSON trong Apache?


Các tệp JSON của bạn được mã hóa như thế nào? Bởi vì JSON ĐÃ là UTF-8, UTF-16 hoặc UTF-32, mọi thứ khác đều không được phép và chỉ gửi một Bộ ký tự khác sẽ không tự động chuyển đổi các tệp.
lsmooth

JSON được mã hóa theo UTF-8
Devdatta Tengshe

@lsmooth Tập tin được mã hóa bằng UTF-8 là không đủ trong một số trường hợp, đặc biệt là liên quan đến IE9 (có thể sớm hơn); thấy ở đây . Ngôn ngữ NSFW, không ngạc nhiên :-). Cá nhân, tôi đã gặp phải các vấn đề với jquery-datatables và JSON mà không có tiêu đề bộ ký tự khi thử nghiệm với IE9.
JK Laiho

Câu trả lời:


10

Bạn có thể sử dụng mã sau trong httpd.conf nếu bạn có quyền truy cập hoặc thậm chí .htaccess của bạn để buộc Apache gửi tiêu đề mã hóa UTF-8.

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

Tôi đã tìm kiếm một cách để làm cho Apache phục vụ các tệp tĩnh với mã hóa UTF-8, AddType cuối cùng đã làm điều này. Cảm ơn!
Ján Lalinský

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.