Reader

суббота, 17 октября 2009 г.

UTF-8 to cp1251 наJavaScript

В интернете порой можно столкнуться с множеством самых интерестных проблем, например отправить POST запрос на другой сервер посредством JavaScript. А тут такой неприятный сюрприз как кракозябры.А вызвано это бывает тем что ваша страничка находится в кодировке UTF-8, А сервер приёмник таки сидит на старой недоброй windows-1251 (cp1251).

Дабы избежать таких неприятностей где то на просторах интернета я нашёл для вас один очень интерестный скрипт на 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.

Комментариев нет:

Отправить комментарий