Дабы избежать таких неприятностей где то на просторах интернета я нашёл для вас один очень интерестный скрипт на JS который превратит ваши UTF'ы в вражеский цп1251 после чего вы можете честно отправлять их не парясь о кракозябрах))
А вот собственно и сам скрипт))
// Перекодировка из UTF в русскую
var trans = []; trans[0x401] = 0xA8; trans[0x451] = 0xB8;
for (var i = 0x410; i <= 0x44F; i++) trans[i] = i - 0x350; // >
function myEscape (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));
}
Автор скрипта RMV с форума 3dnews.
Спасибо из 2025
ОтветитьУдалитьconst utf8_to_win1251 = function (string) {
const map = []
map[1025] = 168 // Ё
map[1105] = 184 // ё
for (let i = 1040; i < 1104; i++) map[i] = i - 848 // А-Яа-я
const toEscape = value => value < 0 ? '' : '%' + ('00' + value.toString(16)).slice(-2)
const toWin1251 = utf8 => toEscape(map[utf8] || (utf8 < 256 ? utf8 : -1))
return string.split('').reduce((escape, char) => escape += toWin1251(char.charCodeAt(0)), '')
}