私はjsonを使用してそのリソースを表すWebサービスを作成していますが、jsonをエンコードするための最良の方法について考えるのに少し行き詰まっています。json rfc(http://www.ietf.org/rfc/rfc4627.txt)を読むと、推奨されるエンコーディングがutf-8であることが明らかです。ただし、rfcは、文字を指定するための文字列エスケープメカニズムについても説明しています。これは通常、非ASCII文字をエスケープするために使用され、それによって結果のutf-8が有効なASCIIになると思います。
したがって、ASCII以外のUnicode文字(コードポイント)を含むjson文字列があるとします。私のWebサービスはそれをutf-8エンコードして返す必要がありますか、それともすべての非ASCII文字をエスケープして純粋なASCIIを返す必要がありますか?
ブラウザでjsonpまたはevalを使用して結果を実行できるようにしたいと思います。それは決定に影響しますか?utf-8に対するさまざまなブラウザのjavascriptサポートに関する私の知識が不足しています。
編集:結果をエンコードする方法に関する私の主な関心事は、実際には結果のブラウザー処理に関するものであることを明確にしたいと思いました。私が読んだことは、特にJSONPを使用する場合、ブラウザーがエンコードに敏感である可能性があることを示しています。この件に関して本当に良い情報が見つからなかったので、何が起こるかを確認するためにいくつかのテストを開始する必要があります。理想的には、必要ないくつかの文字のみをエスケープし、utf-8だけで結果をエンコードしたいと思います。