best-of-best.narod.ru   koi8-r

В начале html - кода файла с хорошей кодировкой стоит:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
в неудачных файлах кодировка "windows-1251" может быть другой.

Если файл в кодировке koi8-r, то можно открыть этот файл с помощью блокнота, заменить кодировку на windows-1252 (или просто выбросить эту строчку) и сохраните его в тот же самый файл в кодировке ANSI.

Этот процесс можно выполнить скриптом следующим образом.

Делаем замену кодировки (здесь x это html - код)

x=x.replace(/koi8-r/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(/%u0408/g,'ё')
x=x.replace(/%u0410/g,'ю')
x=x.replace(/%u0411/g,'а')
x=x.replace(/%u0412/g,'б')
x=x.replace(/%u0413/g,'ц')
x=x.replace(/%u0414/g,'д')
x=x.replace(/%u0415/g,'е')
x=x.replace(/%u0416/g,'ф')
x=x.replace(/%u0417/g,'г')
x=x.replace(/%u0418/g,'х')
x=x.replace(/%u0419/g,'и')
x=x.replace(/%u041A/g,'й')
x=x.replace(/%u041B/g,'к')
x=x.replace(/%u041C/g,'л')
x=x.replace(/%u041D/g,'м')
x=x.replace(/%u041E/g,'н')
x=x.replace(/%u041F/g,'о')
x=x.replace(/%u041F/g,'о')
x=x.replace(/%u0420/g,'п')
x=x.replace(/%u0421/g,'я')
x=x.replace(/%u0422/g,'р')
x=x.replace(/%u0423/g,'с')
x=x.replace(/%u0424/g,'т')
x=x.replace(/%u0425/g,'у')
x=x.replace(/%u0426/g,'ж')
x=x.replace(/%u0427/g,'в')
x=x.replace(/%u0428/g,'ь')
x=x.replace(/%u0429/g,'ы')
x=x.replace(/%u042A/g,'з')
x=x.replace(/%u042B/g,'ш')
x=x.replace(/%u042C/g,'э')
x=x.replace(/%u042D/g,'щ')
x=x.replace(/%u042E/g,'ч')
x=x.replace(/%u042F/g,'ъ')
x=x.replace(/%u0430/g,'Ю')
x=x.replace(/%u0431/g,'А')
x=x.replace(/%u0432/g,'Б')
x=x.replace(/%u0433/g,'Ц')
x=x.replace(/%u0434/g,'Д')
x=x.replace(/%u0435/g,'Е')
x=x.replace(/%u0436/g,'Ф')
x=x.replace(/%u0437/g,'Г')
x=x.replace(/%u0438/g,'Х')
x=x.replace(/%u0439/g,'И')
x=x.replace(/%u043A/g,'Й')
x=x.replace(/%u043B/g,'К')
x=x.replace(/%u043C/g,'Л')
x=x.replace(/%u043D/g,'М')
x=x.replace(/%u043E/g,'Н')
x=x.replace(/%u043F/g,'О')
x=x.replace(/%u0440/g,'П')
x=x.replace(/%u0441/g,'Я')
x=x.replace(/%u0442/g,'Р')
x=x.replace(/%u0443/g,'С')
x=x.replace(/%u0444/g,'Т')
x=x.replace(/%u0445/g,'У')
x=x.replace(/%u0446/g,'Ж')
x=x.replace(/%u0447/g,'В')
x=x.replace(/%u0448/g,'Ь')
x=x.replace(/%u0449/g,'Ы')
x=x.replace(/%u044A/g,'З')
x=x.replace(/%u044B/g,'Ш')
x=x.replace(/%u044C/g,'Э')
x=x.replace(/%u044D/g,'Щ')
x=x.replace(/%u044E/g,'Ч')
//
x=x.replace(/%u0456/g,'Ё')

1.2.2011 00.067



Используются технологии uCoz