В начале html - кода файла с хорошей кодировкой стоит:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
в неудачных файлах кодировка "windows-1251" может быть другой.
Если файл в кодировке utf-8, то можно открыть этот файл с помощью блокнота, заменить кодировку на windows-1252 (или просто выбросить эту строчку) и сохраните его в тот же самый файл в кодировке ANSI.
Этот процесс можно выполнить скриптом следующим образом.
Делаем замену кодировки (здесь x это html - код)
x=x.replace(/utf-8/gi,'windows-1251')
Меняем символы на их эквиваленты в виде: %u0408
x=escape(x)
Меняем конструкции вида %u0408 на соответствующие им символы (эта замена подобрана мною вручную, она не полная и не совпадает со спецификацией, но для документов, сохранённых на компьютере, даёт хороший результат).
/////////////////////// x=x.replace(/%09/g,'')//это табуляция /////////////////////// // x=x.replace(/%0A/g,'\n') x=x.replace(/%0D/g,'\r') x=x.replace(/%20/g,' ') x=x.replace(/%21/g,'!') x=x.replace(/%22/g,'"') x=x.replace(/%23/g,'\#') x=x.replace(/%24/g,'\$') x=x.replace(/%25/g,'%') x=x.replace(/%26/g,'&') x=x.replace(/%27/g,'\'') x=x.replace(/%28/g,'(') x=x.replace(/%29/g,')') x=x.replace(/%2C/g,',') x=x.replace(/%3A/g,':') x=x.replace(/%3B/g,';') x=x.replace(/%3C/g,'<') x=x.replace(/%3D/g,'=') x=x.replace(/%3E/g,'>') x=x.replace(/%3F/g,'?') x=x.replace(/%5B/g,'[') x=x.replace(/%5C/g,'\\') x=x.replace(/%5D/g,']') x=x.replace(/%7B/g,'{') x=x.replace(/%7C/g,'|') x=x.replace(/%7D/g,'}') x=x.replace(/%7E/g,'~') // // x=x.replace(/%u0412%A0/g,' ') x=x.replace(/%u0412%AB/g,'«') x=x.replace(/%u0412%BB/g,'»') x=x.replace(/%u0420%98/g,'И') x=x.replace(/%u0420%A0/g,'Р') x=x.replace(/%u0420%A4/g,'Ф') x=x.replace(/%u0420%A6/g,'Ц') x=x.replace(/%u0420%A7/g,'Ч') x=x.replace(/%u0420%A9/g,'Щ') x=x.replace(/%u0420%AB/g,'Ы') x=x.replace(/%u0420%AC/g,'Ь') x=x.replace(/%u0420%AD/g,'Э') x=x.replace(/%u0420%AE/g,'Ю') x=x.replace(/%u0420%B0/g,'а') x=x.replace(/%u0420%B1/g,'б') x=x.replace(/%u0420%B5/g,'е') x=x.replace(/%u0420%B6/g,'ж') x=x.replace(/%u0420%B7/g,'з') x=x.replace(/%u0420%BB/g,'л') x=x.replace(/%u0420%u0401/g,'Ч') x=x.replace(/%u0420%u0403/g,'Ё') x=x.replace(/%u0420%u0405/g,'н') x=x.replace(/%u0420%u0406/g,'в') x=x.replace(/%u0420%u0407/g,'Я') x=x.replace(/%u0420%u0408/g,'У') x=x.replace(/%u0420%u040E/g,'С') x=x.replace(/%u0420%u0451/g,'и') x=x.replace(/%u0420%u0452/g,'А') x=x.replace(/%u0420%u0454/g,'к') x=x.replace(/%u0420%u0455/g,'о') x=x.replace(/%u0420%u0456/g,'г') x=x.replace(/%u0420%u0457/g,'п') x=x.replace(/%u0420%u0458/g,'м') x=x.replace(/%u0420%u0459/g,'К') x=x.replace(/%u0420%u045A/g,'М') x=x.replace(/%u0420%u045B/g,'О') x=x.replace(/%u0420%u045C/g,'Н') x=x.replace(/%u0420%u045E/g,'Т') x=x.replace(/%u0420%u045F/g,'П') x=x.replace(/%u0420%u0490/g,'Х') x=x.replace(/%u0420%u0491/g,'д') x=x.replace(/%u0420%u2013/g,'Ж') x=x.replace(/%u0420%u2014/g,'З') x=x.replace(/%u0420%u2018/g,'Б') x=x.replace(/%u0420%u2019/g,'В') x=x.replace(/%u0420%u201C/g,'Г') x=x.replace(/%u0420%u201D/g,'Д') x=x.replace(/%u0420%u2022/g,'Е') x=x.replace(/%u0420%u203A/g,'Л') x=x.replace(/%u0420%u2116/g,'й') x=x.replace(/%u0420%u2122/g,'Й') x=x.replace(/%u0421%u0402/g,'р') x=x.replace(/%u0421%u0403/g,'с') x=x.replace(/%u0421%u0409/g,'ъ') x=x.replace(/%u0421%u040A/g,'ь') x=x.replace(/%u0421%u040B/g,'ю') x=x.replace(/%u0421%u040C/g,'э') x=x.replace(/%u0421%u040F/g,'я') x=x.replace(/%u0421%u0453/g,'у') x=x.replace(/%u0421%u2018/g,'ё') x=x.replace(/%u0421%u201A/g,'т') x=x.replace(/%u0421%u201E/g,'ф') x=x.replace(/%u0421%u2020/g,'ц') x=x.replace(/%u0421%u2021/g,'ч') x=x.replace(/%u0421%u2026/g,'х') x=x.replace(/%u0421%u2030/g,'щ') x=x.replace(/%u0421%u2039/g,'ы') x=x.replace(/%u0421%u20AC/g,'ш') x=x.replace(/%u0432%u0402%A6/g,'…') x=x.replace(/%u0432%u0402%u045A/g,'"') x=x.replace(/%u0432%u0402%u045C/g,'"') x=x.replace(/%u0432%u0402%u201C/g,'–') x=x.replace(/%u0432%u0402%u201D/g,'—') x=x.replace(/%u0432%u201E%u2013/g,'№')
2.2.2011 00