J'écris un webservice qui utilise json pour représenter ses ressources, et je suis un peu coincé en réfléchissant à la meilleure façon d'encoder le json. En lisant le json rfc ( http://www.ietf.org/rfc/rfc4627.txt ), il est clair que l'encodage préféré est utf-8. Mais le rfc décrit également un mécanisme d'échappement de chaîne pour spécifier des caractères. Je suppose que cela serait généralement utilisé pour échapper aux caractères non-ascii, rendant ainsi le résultat utf-8 ascii valide.
Disons que j'ai une chaîne json qui contient des caractères unicode (points de code) qui ne sont pas ascii. Mon service Web devrait-il simplement encoder cela en utf-8 et le renvoyer, ou devrait-il échapper à tous ces caractères non-ascii et renvoyer de l'ascii pur?
J'aimerais que les navigateurs puissent exécuter les résultats en utilisant jsonp ou eval. Cela affecte-t-il la décision? Ma connaissance du support javascript de divers navigateurs pour utf-8 fait défaut.
EDIT: Je voulais préciser que ma principale préoccupation concernant la façon d'encoder les résultats concerne vraiment la gestion des résultats par le navigateur. Ce que j'ai lu indique que les navigateurs peuvent être sensibles au codage lors de l'utilisation de JSONP en particulier. Je n'ai pas trouvé de très bonnes informations sur le sujet, je vais donc devoir commencer à faire des tests pour voir ce qui se passe. Idéalement, je voudrais n'échapper que les quelques caractères requis et simplement utf-8 encoder les résultats.