ASP преобразует код кодировки веб-страницы, использует регулярное сопоставление, чтобы определить, является ли оператор кодировки страницы gb2312 или другим, а затем выводит его. Полный пример кода выглядит следующим образом:
Скопируйте код кода следующим образом:
<%@LANGUAGE=КОД JAVASCRIPT=65001%>
<html>
<голова>
<meta http-equiv=Content-Type content=text/html charset=utf-8>
<title>JavaScript автоматически определяет кодировку веб-страницы и преобразует ее</title>
</голова>
<%Server.ScriptTimeout=9999999;
функция send_request(url){
вар кодированный текст;
http_request = Server.CreateObject(Microsoft.XMLHTTP);
http_request.Open(GET,url,false);
http_request.Send (ноль);
если (http_request.ReadyState == 4){
//Автоматически определяем начало кодирования
var charresult = http_request.ResponseText.match(/CharSet=(/S+)/>/i);
если (charresult!= ноль){
вар Cset = charresult[1];
}else{Cset = gb2312}//Примите кодировку gb2312 для веб-сайтов, которые невозможно получить, и вы можете изменить ее самостоятельно
//Автоматически определяем конец кодирования
codetext = bytesToBSTR(http_request.Responsebody,Cset);
}еще{
закодированный текст = Ошибка;
}
возврат (закодированный текст);
}
функция bytesToBSTR(body,Cset){
вар объектный поток;
objstream = Server.CreateObject(Adodb.Stream);
объектный поток.Тип = 1;
objstream.Mode = 3;
объектный поток.Открыть();
objstream.Write(тело);
objstream.Position = 0;
объектный поток.Тип = 2;
objstream.Charset = Cset;
bytesToBSTR = objstream.Readtext;
объектный поток.Закрыть;
возврат (байтыToBSTR);
}%>
<тело>
<%Response.Write(send_request(http://www.vevb.com/404.htm))%>
</тело>
</html>