Сообщение от Stropik
|
Где-то наткнулся на похожий случай, там решением было выставление заголовка вместо
Content-type: application/x-javascript; charset=utf-8
нужно было поставить
Content-type: application/json; charset=utf-8
то есть для конкретного типа данных кодировка устанавливается.
|
Немного не понял, где прописывать этот заголовок?
Вот последовательность:
при submit формы в скрипте проверяется поле и формируется строка запроса AJAX
...
if(forma.raionfull.value!="") {
alert("проверка:"+ forma.raionfull.value); <-- здесь кодировка - ОК
str += "~raion="+forma.raionfull.value;
}
...
затем строка запроса отправляется в AJAX:
// функция, срабатываемая на основном интервале
function getData(curvar,data,obj,sess,dop) {
var senddata = curvar+"|"+data+"|"+dop;
alert("данные="+data); <-- здесь кодировка - ОК
// запросим сервер
var newData=getXMLDocument(senddata,sess);
// проверим - если равна null
if(newData!="null" || newData!="") {
if(obj=="") {
return(newData);
} else {
document.getElementById(obj).innerHTML = newData;
}
}
}
// функция запроса данных с сервера
function getXMLDocument(data,sess) {
var xml1;
alert("запрос:"+data); <-- здесь кодировка - ОК
var fullurl = url+"/request.php?data="+ data+"&ses="+sess;
if(window.XMLHttpRequest) {
xml1=new XMLHttpRequest();
xml1.open("GET", fullurl, false);
xml1.send("");
// если надо получать именно XML, то включается это:
//return xml1.responseXML;
// иначе будет только текст
return xml1.responseText;
} else if(window.ActiveXObject) {
xml1=new ActiveXObject("Microsoft.XMLDOM");
xml1.async=false;
xml1.load(fullurl);
return xml1;
} else {
alert("Загрузка XML не поддерживается браузером");
return null;
}
}
а уже на сервере делаю проверку, то получаю следующее:
saveerror("request: data=".$data);
в ИЕ:
2012-03-23 11:12:53 - request: data=cat_fullpoi|none=none~kod_obj=0~typ=0~vid=0~raion=��_val=0~id_val_ar=0~onlyfoto=0|
тогда как в Опера - всё правильно:
2012-03-23 11:13:43 - request: data=cat_fullpoi|none=none~kod_obj=0~typ=0~vid=0~raion=центр~id_val=0~id_val_ar=0~onlyfoto=0|