Я пишу веб-службу, яка використовує json для представлення своїх ресурсів, і я трохи застряг у роздумах про найкращий спосіб кодування json. Читаючи json rfc ( http://www.ietf.org/rfc/rfc4627.txt ), стає зрозуміло, що кращим кодуванням є utf-8. Але RFC також описує механізм екранування рядка для вказівки символів. Я припускаю, що це, як правило, використовується для уникнення символів, що не є ascii, тим самим роблячи отриманий utf-8 дійсним ascii.
Отже, припустимо, у мене є рядок json, який містить символи Unicode (кодові точки), які не є ascii. Чи повинен мій веб-сервіс просто кодувати utf-8 і повертати його, чи він повинен уникати всіх цих не-ascii символів і повертати чистий ascii?
Я хотів би, щоб браузери могли виконувати результати за допомогою jsonp або eval. Чи впливає це на рішення? Мені не відомо про підтримку різних браузерів javascript для utf-8.
EDIT: Я хотів пояснити, що моє головне занепокоєння щодо того, як кодувати результати, насправді полягає в обробці результатів у браузері. Те, що я прочитав, вказує на те, що браузери можуть бути чутливими до кодування, зокрема, використовуючи JSONP. Я не знайшов жодної справді хорошої інформації з цього питання, тому мені доведеться почати тестування, щоб побачити, що станеться. В ідеалі я хотів би уникати лише тих кількох символів, які потрібні, і просто utf-8 кодував результати.