AJAX и русский язык
делаю вот так:
[html]
<script>
function jah(url,target)
{
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.open("GET", url, true);
req.overrideMimeType('text/plain; charset=windows-1251');
req.onreadystatechange = function() {jahDone(target);};
req.send(null);
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.open('GET', url, true);
req.setRequestHeader("Accept-Language", "ru, en");
req.setRequestHeader("Accept-Charset", "windows-1251");
req.onreadystatechange = function() {jahDone(target);};
req.send();
}
}
} </script>
[/html]
в FireFox работает. а в IE нет.... пееркопал вчера куски инета, нашел именно такие вот способы, но ведь не работает....
подскажите кто сталкивался... пожалуйста..
заранее Спасибо Огромное! =)
encodeURI()
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/003747e2-7860-4c96-b129-5180ae0fe745.asp
ну и на сервере (если РНР) то используй urldecode/urlencode
http://ru.php.net/manual/ru/function.urldecode.php
вот в чем трабл...
а если и urldecode/urldecode, то результат декодировать чтоли?... хм... чего-то я не понял как это может помочь... (
:(
с сервера отправляем инфу - к строке применяем urlencode()
$str = urlencode($str);
В клиенте получаем и применяем JavaScript функцию decodeURI()
alert(decodeURI(str));
Для отправки на сервер инфы все то же самое только наоборот...
Ну и естественно сама страница должна быть в той же кодировке (в нашем случае это UTF-8)
а что делать в том случае если страница, с которой идёт запрос (при выборе из списка Производителей ниже все его погруппы товаров всплывают), в кодировке Windows-1251? что? переписывать страничку в UTF? O_o
Цитата: Тень Пса
не матерись! :)
а что делать в том случае если страница, с которой идёт запрос (при выборе из списка Производителей ниже все его погруппы товаров всплывают), в кодировке Windows-1251? что? переписывать страничку в UTF? O_o
а что делать в том случае если страница, с которой идёт запрос (при выборе из списка Производителей ниже все его погруппы товаров всплывают), в кодировке Windows-1251? что? переписывать страничку в UTF? O_o
Обрабатывай строку вот этой замечательной функцией iconv()
http://ru2.php.net/manual/ru/ref.iconv.php
p.s: 2Тень скачай перекодировщик :)
decodeURI говорила что недопустимая кодировка для декодирования... (в скрипте кодировал urlencode, и пытался конвертить и в cp1251 и в utf8)
в общем благо, проблема решена! всем спасибо за участие! =)
PS: 2Proger_XP, под виньХэРэ и на браузере IE тож работает ))) thnx!!! :)
тоже недавно мучился, но получилось так, что на сервере хостера всё работает без перекодирования, а локально почему-то пришлось писать дополнительный обработчик строк. использовал sajax. даже с разработчиками общался... тема есть где-то пару страниц назад.
Это все от плохого понимания как все работает. Потому и проблемы на пустом месте.
я ВООБЩЕ не знал как это работает, если трудно было объяснить, извини, что побеспокоил, ок? :)
Цитата: Тень Пса
я ВООБЩЕ не знал как это работает, если трудно было объяснить, извини, что побеспокоил, ок? :)
Не кипятись :)