Sto usando json con testo unicode e sto avendo un problema con l'implementazione json nativa di IE8.Come correggere la codifica dei caratteri in IE8 nativo JSON?
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
var stringified = JSON.stringify("สวัสดี olé");
alert(stringified);
</script>
Utilizzando json2.js o Firefox JSON nativa, la stringa alert()
è la stessa come in quella originale. D'altra parte, IE8 restituisce valori Unicode anziché il testo originale \u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e35 ol\u00e9
. C'è un modo semplice per far sì che IE si comporti come gli altri, o convertire questa stringa in come dovrebbe essere? E lo considereresti un bug in IE, pensavo che le implementazioni di json nativi dovessero essere rimpiazzate con identiche sostituzioni per json2.js?
Edit: Un repro sul jsfiddle utilizzando il codice di cui sopra - http://jsfiddle.net/vV4uz/
Questo è un bug chiaro in Internet Explorer: JSON deve essere considerato codificato in unicode, vedere [RFC 4627] (http://www.ietf.org/rfc/rfc4627.txt) – rds