Wie setze ich die richtigen Header für JSON in Apache?


10

Ich habe einen Apache-Server, der statische JSON-Dateien bereitstellt. Der Inhaltstyp wird in der Kopfzeile korrekt mit einer Content-Type: application/jsonKopfzeile dargestellt.

Wie füge ich dem Header den richtigen Zeichensatz hinzu?

Ich habe die folgende Zeile in meinem httpd.conf:

AddDefaultCharset utf-8

Aber selbst mit dieser Zeile setzt Apache den Zeichensatz nicht im Header.

Dies ist wichtig, da meine JSON-Dateien einige Daten in Französisch enthalten und die Akzente im JavaScript-Code nicht richtig gelesen werden.

Wie setze ich die richtigen Header für JSON in Apache?


Wie werden Ihre JSON-Dateien codiert? Da JSON entweder UTF-8, UTF-16 oder UTF-32 sein muss, ist alles andere nicht zulässig, und nur das Senden eines anderen Zeichensatzes konvertiert die Dateien nicht automatisch.
lsmooth

Der JSON ist in UTF-8
Devdatta Tengshe

@lsmooth Die mit UTF-8 codierte Datei reicht unter bestimmten Umständen nicht aus, insbesondere mit IE9 (möglicherweise auch früher). siehe hier . NSFW-Sprache, nicht überraschend :-). Persönlich sind beim Testen mit IE9 Probleme mit jquery-datatables und JSON ohne Zeichensatz-Header aufgetreten.
JK Laiho

Antworten:


10

Sie können den folgenden Code in Ihrer httpd.conf verwenden, wenn Sie Zugriff haben oder sogar Ihren .htaccess, um Apache zu zwingen, einen UTF-8-Codierungsheader zu senden.

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

Ich suchte nach einer Möglichkeit, Apache dazu zu bringen, statische Dateien mit UTF-8-Codierung bereitzustellen. AddType tat dies schließlich. Vielen Dank!
Ján Lalinský

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.