evgennet
Определите тип кодировки.
Вот тут в конце есть образцы крякозябр.
Потом можете написать свои функции перекодировки. Ну или возьмите мою:
var ANSI = ("№|•|" +
"А|Б|В|Г|Д|Е|Ё|Ж|З|И|Й|" +
"К|Л|М|Н|О|П|Р|С|Т|У|Ф|" +
"Х|Ц|Ч|Ш|Щ|Ъ|Ы|Ь|Э|Ю|Я|" +
"а|б|в|г|д|е|ё|ж|з|и|й|" +
"к|л|м|н|о|п|р|с|т|у|ф|" +
"х|ц|ч|ш|щ|ъ|ы|ь|э|ю|я").split("|");
var W1251 = ("№|—|" +
"Рђ|Р‘|Р’|Р“|Р”|Р•|РЃ|Р–|Р—|Р�|Р™|" +
"Рљ|Р›|Рњ|Рќ|Рћ|Рџ|Р |РЎ|Рў|РЈ|Р¤|" +
"РҐ|Р¦|Р§|РЁ|Р©|РЄ|Р«|Р¬|Р|Р®|РЇ|" +
"Р°|Р±|РІ|Рі|Рґ|Рµ|С‘|Р¶|Р·|Рё|Р№|" +
"Рє|Р»|Рј|РЅ|Рѕ|Рї|СЂ|СЃ|С‚|Сѓ|С„|" +
"С…|С†|С‡|С?|С‰|СЉ|С‹|СЊ|СЌ|СЋ|СЏ").split('|');
var hW1251 ={}; //хешь декодировки
for (var i in W1251)
hW1251[W1251[i]] = ANSI[i];
var reW1251 = new RegExp("(" + W1251.join('|') + ")", 'g')
function win1251_decode(s)
{
return s.replace(reW1251, function (p)
{
return hW1251[p] ? hW1251[p] : p
})
} //func
Функция win1251_decode - преобразует utf8 строку в читаемую.
PS Движок форума неправильно преобразовал некоторые символы строки скрипта в HTML сущности...
Еще можно попробовать заставить браузер это делать.
Код для HTA.
//псевдо код :) Не уверен что все правильно тут
function decode()
{
var subBrowser= document.createElement("IFRAME")
subBrowser.window.document.write('<meta http-equiv="Content-Type" content="text/html; charset='+Правильная_кодировка+'" />')
subBrowser.window.document.write(Ваш_текст_в_неправильной_кодировке)
subBrowser.window.document.close()
return subBrowser.window.document.body.innerText
}