Codificación de caracteres JSON: ¿UTF-8 está bien soportado por los navegadores o debo usar secuencias de escape numéricas?

Estoy escribiendo un servicio web que usa json para representar sus recursos, y estoy un poco atascado pensando en la mejor manera de codificar el json. Leyendo el json rfc http: //www.ietf.org/rfc/rfc4627.tx) está claro que la codificación preferida es utf-8. Pero el rfc también describe un mecanismo de escape de cadena para especificar caracteres. Supongo que esto generalmente se usaría para escapar de caracteres no ascii, lo que hace que el utci-8 resultante sea ascii válido.

Entonces, supongamos que tengo una cadena json que contiene caracteres unicode (puntos de código) que no son ascii. ¿Debería mi servicio web simplemente utf-8 codificar eso y devolverlo, o debería escapar de todos esos caracteres no ascii y devolver ascii puro?

Me gustaría que los navegadores puedan ejecutar los resultados usando jsonp o eval. ¿Eso afecta la decisión? Me falta conocimiento de la compatibilidad de JavaScript de varios navegadores para utf-8.

EDIT: quería aclarar que mi principal preocupación sobre cómo codificar los resultados es realmente sobre el manejo de los resultados en el navegador. Lo que he leído indica que los navegadores pueden ser sensibles a la codificación cuando se usa JSONP en particular. No he encontrado ninguna información realmente buena sobre el tema, así que tendré que comenzar a hacer algunas pruebas para ver qué sucede. Idealmente, me gustaría escapar solo de esos pocos caracteres necesarios y solo utf-8 codifica los resultados.

Respuestas a la pregunta(5)

Su respuesta a la pregunta