ASP利用Google实现在线翻译功能 (2)
<html><head><title>在线翻译</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><%'on error resume next' 如果网速很慢的话,可以调整以下时间。单位秒Server.ScriptTimeout = 999999'========================================================'字符编码函数'========================================================Function BytesToBstr(body,code) dim objstream set objstream = Server.CreateObject("adodb.stream") objstream.Type = 1 objstream.Mode =3 objstream.Open objstream.Write body objstream.Position = 0 objstream.Type = 2 objstream.Charset =codeBytesToBstr = objstream.ReadText objstream.Close set objstream = nothing End Function '取行字符串在另一字符串中的出现位置Function Newstring(wstr,strng) Newstring=Instr(lcase(wstr),lcase(strng)) if Newstring<=0 then Newstring=Len(wstr) End Function '替换字符串函数function ReplaceStr(ori,str1,str2)ReplaceStr=replace(ori,str1,str2)end function'=====================================================function ReadXml(url,code,start,ends)set oSend=createobject("Microsoft.XMLHTTP")SourceCode = oSend.open ("GET",url,false) oSend.send()ReadXml=BytesToBstr(oSend.responseBody,code )if(start="" or ends="") thenelsestart=Newstring(ReadXml,start)ReadXml=mid(ReadXml,start)ends=Newstring(ReadXml,ends)ReadXml=left(ReadXml,ends-1)end ifend functiondim urlpage,lanurlpage=request("urls")lan=request("lan")%><form method="post" action="translate.asp"><input type="text" size="150" value="<%=urlpage%>"><input type="hidden" value="<%=lan%>"><input type="submit" value="submit"></form><%dim transURLtransURL="http://216.239.39.104/translate_c?hl=zh-CN&ie=UTF-8&oe=UTF-8&langpair="&server.URLEncode(lan)&"&u="&urlpage&"&prev=/language_tools"if(len(urlpage)>3) thengetcont=ReadXml(transURL,"gb2312","","")response.Write(getcont)end if%></body></html>
translate.asp实现翻译功能,这是利用google的语言工具实现的。
注意,因为提供多语言支持,所以translate.asp文件所用的编码是支持所有字符的"utf-8"