asp 读取 utf-8格式文档并生成utf-8格式文档的乱码难题
今天在对搜索吧的程序进行utf-8修正时,发现生成的utf-8格式文档存在着乱码,原来文件 create_html.asp代码如下: 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% set objrs=server.createObject("Scripting.FileSystemObject") conn=server.mappath("example.xml") set Stream=objrs.opentextfile(conn,1,true,-2) content=stream.readall Response.Write(content) stream.close %> 这段代码要实现的功能是:从example.xml(utf-8格式)中读取文字包括中文,然后输出,但是每次输出却都是乱码,这个问题着实困扰了我很久,后来还是在经典论坛“小韩”“萧萧小雨 ”的帮助下解决了,真是感谢他们了。 或许我一开始就是错误的,现在正确的代码修改后如下,用了“萧萧小雨”给的代码,包括了用读取的内容生成新的utf-8格式文档。详细代码如下: 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Response.CodePage=65001%> <% Response.Charset="UTF-8" %> <% '申明变量 dim read_path,write_paht,content '----读取文件内容------------------------ Function ReadTextFile(filePath,CharSet) dim stm set stm=Server.CreateObject("adodb.stream") stm.Type=1 'adTypeBinary,按二进制数据读入 stm.Mode=3 'adModeReadWrite ,这里只能用3用其他会出错 stm.Open stm.LoadFromFile filePath stm.Position=0 '把指针移回起点 stm.Type=2 '文本数据 stm.Charset=CharSet ReadTextFile = stm.ReadText stm.Close set stm=nothing End Function '----写入文件------------------------ Sub WriteTextFile(filePath,fileContent,CharSet) dim stm set stm=Server.CreateObject("adodb.stream") stm.Type=2 'adTypeText,文本数据 stm.Mode=3 'adModeReadWrite,读取写入,此参数用2则报错。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |