Ich schreibe einen Webservice, der json verwendet, um seine Ressourcen darzustellen, und ich bin ein bisschen festgefahren, wie ich den json am besten codieren kann. Beim Lesen des json rfc ( http://www.ietf.org/rfc/rfc4627.txt ) ist klar, dass die bevorzugte Codierung utf-8 ist. Der RFC beschreibt aber auch einen Mechanismus zum Entkommen von Zeichenfolgen zum Angeben von Zeichen. Ich gehe davon aus, dass dies im Allgemeinen verwendet wird, um Nicht-ASCII-Zeichen zu entkommen, wodurch das resultierende utf-8-ASCII gültig wird.
Nehmen wir also an, ich habe eine JSON-Zeichenfolge, die Unicode-Zeichen (Codepunkte) enthält, die keine ASCII-Zeichen sind. Sollte mein Webservice nur utf-8 codieren und zurückgeben, oder sollte er all diesen Nicht-ASCII-Zeichen entkommen und reines ASCII zurückgeben?
Ich möchte, dass Browser die Ergebnisse mit jsonp oder eval ausführen können. Beeinflusst das die Entscheidung? Mein Wissen über die Javascript-Unterstützung verschiedener Browser für utf-8 fehlt.
EDIT: Ich wollte klarstellen, dass mein Hauptanliegen beim Codieren der Ergebnisse wirklich die Browser-Handhabung der Ergebnisse ist. Was ich gelesen habe, weist darauf hin, dass Browser möglicherweise besonders bei Verwendung von JSONP empfindlich auf die Codierung reagieren. Ich habe keine wirklich guten Informationen zu diesem Thema gefunden, daher muss ich einige Tests durchführen, um zu sehen, was passiert. Im Idealfall möchte ich nur den wenigen erforderlichen Zeichen entkommen und nur utf-8 die Ergebnisse codieren.