Преобразовать Char в HEX
Добрый день!
Столкнулся с такой проблемой, решение не кажется тривиальным. Передаю на сервер запрос через XMLHttpRequest - GET, на сервере проблемы с кодировкой и настроить php сценарий не могу, приходится работать как есть. В итоге запрос вида /filter.php?search=привет не воспринимает, кодировал через encodeURIComponent, тоже не понимает. А вот строку вида /filter.php?search=%ef%f0%e8%e2%e5%f2 берёт нормально, строку получил в каком то он-лайн конвертере. Понимаю что по уму надо php править, но там не моё и туда не пускают, надо делать костыль на java и не смог. Помогите плиз как строку преобразовать из var str = 'привет'; в var str1 = '%ef%f0%e8%e2%e5%f2'; Заранее Спасибо!!! |
javascript у вас в UTF-8, а сервер в какой кодировке?
|
Цитата:
А вот с отсылкой по ходу не срабатывает. |
// Инициализируем таблицу перевода var trans = []; for (var i = 0x410; i <= 0x44F; i++) trans[i] = i - 0x350; // А-Яа-я trans[0x401] = 0xA8; // Ё trans[0x451] = 0xB8; // ё to_win_1251 = function(str) { var ret = []; // Составляем массив кодов символов, попутно переводим кириллицу for (var i = 0; i < str.length; i++) { var n = str.charCodeAt(i); if (typeof trans[n] != 'undefined') n = trans[n]; if (n <= 0xFF) ret.push(n); } return escape(String.fromCharCode.apply(null, ret)); } to_win_1251('привет'); взято отсюда: http://xpoint.ru/know-how/JavaScript...SRusskimiBu k соотв-но можете подменить функцию encodeURIComponent, или escape как там указано. тогда использование станет более прозрачным. |
Цитата:
Не стану я переопределять стандартные функции, т.к. не известно где ещё может вылезти косяк с этой перекодировкой. |
Часовой пояс GMT +3, время: 08:31. |