ฉันจะตั้งค่าส่วนหัวที่เหมาะสมสำหรับ JSON ใน Apache ได้อย่างไร


10

ฉันมีเซิร์ฟเวอร์ Apache ที่ให้บริการไฟล์ JSON แบบคงที่ ประเภทเนื้อหามีการแสดงอย่างถูกต้องในส่วนหัวด้วยContent-Type: application/jsonส่วนหัว

ฉันจะเพิ่มชุดอักขระที่ถูกต้องลงในส่วนหัวได้อย่างไร

ฉันมีบรรทัดต่อไปนี้ในของฉันhttpd.conf:

AddDefaultCharset utf-8

แต่ถึงแม้จะมีบรรทัดนี้ก็ตาม Apache ไม่ได้ตั้งค่าชุดอักขระในส่วนหัว

สิ่งนี้มีความสำคัญเนื่องจากไฟล์ JSON ของฉันมีข้อมูลบางอย่างเป็นภาษาฝรั่งเศสและสำเนียงไม่ถูกอ่านในรหัส JavaScript

ดังนั้นฉันจะตั้งค่าส่วนหัวที่เหมาะสมสำหรับ JSON ใน Apache ได้อย่างไร


ไฟล์ JSON ของคุณเข้ารหัสอย่างไร เนื่องจาก JSON HAS เป็น UTF-8, UTF-16 หรือ UTF-32 ไม่อนุญาตให้ทำอย่างอื่นและการส่ง Charset อื่นจะไม่ทำการแปลงไฟล์โดยอัตโนมัติ
lsmooth

JSON มีการเข้ารหัสใน UTF-8
Devdatta Tengshe

@lsmooth ไฟล์ที่ถูกเข้ารหัสด้วย UTF-8 นั้นไม่เพียงพอในบางสถานการณ์โดยเฉพาะอย่างยิ่งที่เกี่ยวข้องกับ IE9 ดูที่นี่ ภาษา NSFW แปลกใจ :-) โดยส่วนตัวฉันพบปัญหากับ jquery-datatables และ JSON โดยไม่มีส่วนหัว charset เมื่อทำการทดสอบกับ IE9
JK Laiho

คำตอบ:


10

คุณสามารถใช้รหัสต่อไปนี้ใน httpd.conf ของคุณหากคุณมีการเข้าถึงหรือแม้กระทั่ง. htaccess ของคุณเพื่อบังคับให้ Apache ส่งส่วนหัวการเข้ารหัส UTF-8

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

ฉันกำลังค้นหาวิธีที่จะทำให้ Apache ให้บริการไฟล์คงที่ด้วยการเข้ารหัส UTF-8 ในที่สุด AddType ก็ทำสิ่งนี้ ขอบคุณ!
JánLalinský

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.