加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

asp 读取 utf-8格式文档并生成utf-8格式文档的乱码难题

发布时间:2023-08-05 11:19:01 所属栏目:Asp教程 来源:
导读:今天在对搜索吧的程序进行utf-8修正时,发现生成的utf-8格式文档存在着乱码,原来文件create_html.asp代码如下: 代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% set objrs=server.createObject("Scripting

今天在对搜索吧的程序进行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则报错。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章