Sto scrivendo un servizio web che utilizza json per rappresentare le sue risorse e sono un po 'bloccato a pensare al modo migliore per codificare json. Leggendo il json rfc ( http://www.ietf.org/rfc/rfc4627.txt ) è chiaro che la codifica preferita è utf-8. Ma l'rfc descrive anche un meccanismo di escape delle stringhe per specificare i caratteri. Presumo che questo sarebbe generalmente usato per sfuggire ai caratteri non ASCII, rendendo così il risultante ASCII valido utf-8.
Quindi diciamo che ho una stringa json che contiene caratteri Unicode (punti di codice) che non sono ascii. Il mio servizio web dovrebbe solo codificarlo utf-8 e restituirlo, o dovrebbe sfuggire a tutti quei caratteri non ASCII e restituire ASCII puro?
Vorrei che i browser fossero in grado di eseguire i risultati utilizzando jsonp o eval. Ciò influisce sulla decisione? La mia conoscenza del supporto javascript di vari browser per utf-8 è carente.
EDIT: volevo chiarire che la mia principale preoccupazione su come codificare i risultati riguarda davvero la gestione dei risultati da parte del browser. Quello che ho letto indica che i browser possono essere sensibili alla codifica quando si utilizza JSONP in particolare. Non ho trovato nessuna buona informazione sull'argomento, quindi dovrò iniziare a fare alcuni test per vedere cosa succede. Idealmente mi piacerebbe sfuggire solo a quei pochi caratteri richiesti e solo utf-8 codificasse i risultati.