Piszę usługę sieciową, która używa json do reprezentowania swoich zasobów i trochę utknąłem, myśląc o najlepszym sposobie zakodowania json. Czytając json rfc ( http://www.ietf.org/rfc/rfc4627.txt ) widać, że preferowanym kodowaniem jest utf-8. Ale rfc opisuje również mechanizm ucieczki ciągów do określania znaków. Zakładam, że byłoby to generalnie używane do ucieczki przed znakami spoza ASCII, dzięki czemu wynikowe utf-8 byłoby prawidłowe.
Powiedzmy, że mam ciąg json zawierający znaki Unicode (punkty kodowe), które nie są ASCII. Czy moja usługa sieciowa powinna po prostu zakodować to za pomocą utf-8 i zwrócić to, czy też powinna uciec przed wszystkimi znakami spoza ASCII i zwrócić czyste ASCII?
Chciałbym, aby przeglądarki mogły wykonywać wyniki przy użyciu jsonp lub eval. Czy to wpływa na decyzję? Brakuje mojej wiedzy na temat obsługi języka JavaScript w różnych przeglądarkach dla utf-8.
EDYCJA: Chciałem wyjaśnić, że moim głównym problemem związanym z kodowaniem wyników jest tak naprawdę obsługa wyników przez przeglądarkę. Z tego, co przeczytałem, wynika, że przeglądarki mogą być wrażliwe na kodowanie, szczególnie podczas korzystania z JSONP. Nie znalazłem żadnych naprawdę dobrych informacji na ten temat, więc muszę zacząć robić testy, aby zobaczyć, co się stanie. Idealnie chciałbym uciec tylko od tych kilku znaków, które są wymagane i tylko kodować wyniki utf-8.