У вас никакой не юникод. Очевидно, что вы работаете в кодировке CP-1251 (она же
windows-1251).
Это не здорово, но и не смертельно, потому что независимо от кодировки нужно перед отправкой кодировать с помощью
encodeURIComponent, а при получении декодировать с помощью
decodeURIComponent.
Пы.Сы. Объясните мне, кто советует сохранять без сигнатуры, почему? Какова причина лишать браузер мощнейшего средства определения кодировки?
Вот так всё-таки можно перевести из строки в windows-1251 (хей,
@rock :)
console.log(
getRussian('%C8%EC%FF'),
getRussian('%D1%EE%EE%E1%F9%E5%ED%E8%E5')
);
function getRussian (string) {
return string.replace(/^%/, '').split(/%/).reduce(function (result, value) {
return result += unescape('%u' + ('000' + (parseInt(value, 16) + 848).toString(16)).slice(-4));
}, '');
}