Ich schreibe einen Webservice, der json verwendet, um seine Ressourcen zu repräsentieren, und ich bin ein bisschen stecken Denken über den besten Weg, um die json kodieren. Das Lesen der json rfc ( http://www.ietf.org/rfc/rfc4627.txt ) ist es klar, dass die bevorzugte Kodierung utf-8 ist. Aber die rfc beschreibt auch einen String-Escaping-Mechanismus für die Angabe von Zeichen. Ich gehe davon aus, dass dieser im Allgemeinen verwendet wird, um Nicht-Ascii-Zeichen zu entschlüsseln, wodurch das resultierende utf-8 gültige ascii wird.
Nehmen wir an, ich habe eine json-Zeichenkette, die Unicode-Zeichen (Code-Punkte) enthält, die nicht ascii-Zeichen sind. Sollte mein Webservice nur utf-8 kodiert, dass und geben Sie es, oder sollte es alle diese Nicht-Ascii-Zeichen zu entkommen und reine ascii zurück?
Ich möchte, dass die Browser in der Lage sind, die Ergebnisse mit jsonp oder eval auszuführen. Hat das Auswirkungen auf die Entscheidung? Mein Wissen über die Javascript-Unterstützung verschiedener Browser für utf-8 ist mangelhaft.
EDIT: Ich wollte klarstellen, dass mein Hauptanliegen, wie die Ergebnisse zu kodieren ist wirklich über Browser Handhabung der Ergebnisse. Was ich gelesen habe, deutet darauf hin, dass Browser empfindlich auf die Kodierung sein können, wenn JSONP insbesondere verwendet wird. Ich habe keine wirklich guten Informationen zu diesem Thema gefunden, also werde ich anfangen müssen, einige Tests durchzuführen, um zu sehen, was passiert. Idealerweise möchte ich nur die wenigen Zeichen, die erforderlich sind, zu entkommen und nur utf-8 kodieren die Ergebnisse.