asp 读取 utf-8格式文档并生成utf-8格式文档的乱码问题
2007-07-20 00:00
567 查看
今天在对搜索吧的程序进行utf-8修正时,发现生成的utf-8格式文档存在着乱码,原来文件
create_html.asp代码如下:
这段代码要实现的功能是:从example.xml(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则报错 stm.Charset=CharSet stm.Open stm.WriteText fileContent stm.SaveToFile filePath,2 'adSaveCreateOverWrite,文件存在则覆盖 stm.Flush stm.Close set stm=nothing End Sub '要读取的文件路径 read_path = Server.MapPath("example.xml") '要写入的文件路径 write_path = Server.MapPath("example.asp") '读取的文件内容 content = ReadTextFile(read_path,"utf-8") '输出读取的文件 Response.Write(content) '开始写入 call WriteTextFile(write_path,content,"utf-8") %>
这段代码相当实用,对于生成utf-8格式静态页十分有用,一些必要的解释我也注明了,需要注意的是:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Response.CodePage=65001%> <% Response.Charset="UTF-8" %>你的页面不要忘记这几行代码了,否则你读取后输出的内容是乱码。
相关文章推荐
- asp 读取 utf-8格式文档并生成utf-8格式文档的乱码问题
- ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)<
- php输出UTF-8格式XML文件中文乱码问题(含asp,asp.net,jsp代码)
- js生成的cookie由asp.net读取的时候中文乱码问题的解决
- ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)第1/2页
- ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)第1/2页
- BOM与读取UTF-8编码格式文件首行乱码问题
- asp中读取xml以及Utf-8和Gb2312乱码问题
- TXMLDOCUMENT读取UTF-8格式XML文件乱码问题
- xp下新建文本文档编码格式预订为UTF-8 -- 解决简繁系统txt乱码问题
- php输出UTF-8格式XML文件中文乱码问题(含asp,asp.net,jsp代码)
- rapidxml读取utf-8 格式xml乱码问题(utf-8格式转GBK)
- IO 流读取文件时候出现乱码 文件编码格式问题 怎么转换解决方法
- asp UTF-8 乱码问题的解决方法小结
- asp utf-8编码 乱码问题
- [置顶] 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- ubuntu15.04下eclipse生成java文档注释及乱码问题解决
- 解决生成的saiku文件读取中文乱码的问题
- 解决VS2005打开UTF-8编码文档乱码问题(ZZ)
- java读取ANSI编码或者UTF-8编码文件乱码问题解决