ApacheでJSONに適切なヘッダーを設定するにはどうすればよいですか?


10

静的JSONファイルを提供するApacheサーバーがあります。コンテンツタイプは、ヘッダー付きのContent-Type: application/jsonヘッダーで正しく表現されています。

ヘッダーに正しい文字セットを追加するにはどうすればよいですか?

私には次の行がありますhttpd.conf

AddDefaultCharset utf-8

しかし、この行を使用しても、Apacheはヘッダーに文字セットを設定しません。

JSONファイルにはフランス語のデータが含まれており、JavaScriptコードでアクセントが正しく読み取られていないため、これは重要です。

では、ApacheでJSONに適切なヘッダーを設定するにはどうすればよいですか?


JSONファイルはどのようにエンコードされますか?JSONはUTF-8、UTF-16、UTF-32のいずれかである必要があるため、他の文字は許可されず、別のCharsetを送信するだけではファイルが自動的に変換されません。
lsmooth 2014年

JSONはUTF-8でエンコードされています
Devdatta Tengshe

@lsmooth状況によっては、UTF-8でエンコードされているファイルでは不十分で、特にIE9が関与している可能性があります(おそらく以前にも)。こちらをご覧ください。NSFW言語、当然のことながら:-)。個人的には、IE9でテストしているときに、jquery-datatablesとcharsetヘッダーのないJSONで問題が発生しました。
JKライホ2015年

回答:


10

アクセス権がある場合はhttpd.confで次のコードを使用できます。また、.htaccessを使用して、ApacheにUTF-8エンコーディングヘッダーを送信させることができます。

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

ApacheがUTF-8エンコーディングで静的ファイルを提供する方法を探していましたが、AddTypeがついにこれを実行しました。ありがとう!
JANLalinský

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.