Вот решение, которое я наконец нашел!
IE - это анальный UTF-8, не только это!
Я сформулировал свой ответ следующим образом:
return HttpResponse(simplejson.dumps(response_dict),
content_type = 'application/json; charset=utf8')
Теперь FF & Chrome хорош в этом.
Но для IE utf8 должен быть таким:
return HttpResponse(simplejson.dumps(response_dict),
content_type = 'application/json; charset=UTF-8')
Обратите внимание на заглавные буквы UTF - >> UTF-8
Чтобы отладить проблему, я бросил свой jquery и написал голую функцию ajax.
var xmlhttp = false;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
xmlhttp.open("POST",urlToSend,false);
xmlhttp.send(af_pTempString);
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST",urlToSend,false);
// Do not send null for ActiveX
xmlhttp.send(af_pTempString);
}
//alert("xmlhttp.responseText : " + xmlhttp.responseText);
document.getElementById('navHolder').innerHTML = xmlhttp.responseText;
Если кодировка неправильная, в IE появится эта ошибка - c00ce56e