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则报错 
       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" %>

你的页面不要忘记这几行代码了,否则你读取后输出的内容是乱码。

(0)

相关推荐

  • 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("exam

  • asp.net中如何批量导出access某表内容到word文档

    下面通过图文并茂的方式给大家介绍asp.net中批量导出access某表内容到word文档的方法,具体详情如下: 一.需求: 需要将表中每一条记录中的某些内容导出在一个word文档中,并将这些文档保存在指定文件夹目录下 二.界面,简单设计如下: 三.添加office相关引用 添加后可在解决方案资源管理器中看到: 四.添加form1中的引用 using System.Data.OleDb; using System.Data.SqlClient; using System.IO; using Mi

  • python实现word文档批量转成自定义格式的excel文档的思路及实例代码

    支持按照文件夹去批量处理,也可以单独一个文件进行处理,并且可以自定义标识符 最近在开发一个答题类的小程序,到了录入试题进行测试的时候了,发现一个问题,试题都是word文档格式的,每份有100题左右,拿到的第一份试题,光是段落数目就有800个.而且可能有几十份这样的试题. 而word文档是没有固定格式的,想批量录入关系型数据库mysql,必须先转成excel文档.这个如果是手动一个个粘贴到excel表格,那就头大了. 我最终需要的excel文档结构是这样的:每道题独立占1行,每1列是这道题的一项内

  • python-docx修改已存在的Word文档的表格的字体格式方法

    搞了好几天的表格字体格式,一直想找一种能直接一次性修改表格所有字体格式的方法(函数),但是无论用什么方法都无法修改表格字体的格式,原因应该是已存在的文档本身就具有某种格式限制,制约着里面表格里面字体格式的更改,直接用类似:table.style.font.name='Arial',table.style.font.size = 120000-.之类的函数是不能更改表格的字体格式的(PS:可能该功能在开发中,也可能我没找到对应直接修改整个表格里面字体的方法) 但是后来发现表格里面用run = ad

  • Python读取HTML中的canvas并且以图片形式存入Word文档

    目录 前言 创建Word文档并插入 插入到已存在的Word文档指定的位置 前言 朋友提问: 创建Word文档并插入 市面上有很多图表绘制库,例如echarts和highcharts等等.对于这种由js动态绘制的图表,我们只能控制游览器自动截图存入word, 完整代码如下: from docx import Document import os from selenium import webdriver browser = webdriver.Chrome() # 调整游览器大小达到调整图表宽度

  • 用ASP读取/写入UTF-8编码格式的文件

    <% '------------------------------------------------- '函数名称:ReadTextFile '作用:利用AdoDb.Stream对象来读取UTF-8格式的文本文件 '---------------------------------------------------- function ReadFromTextFile (FileUrl,CharSet)  dim str  set stm=server.CreateObject("a

  • java使用dom4j生成与解析xml文档的方法示例

    本文实例讲述了java使用dom4j生成与解析xml文档的方法.分享给大家供大家参考,具体如下: xml是一种新的数据格式,主要用于数据交换.我们所用的框架都有涉及到xml.因此解析或生成xml对程序员也是一个技术难点.这里就用dom4j来生成一个文档,需要注意的是每个xml文档只有一个根节点. package org.lxh; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutput

  • Go Grpc Gateway兼容HTTP协议文档自动生成网关

    目录 前言 一,grpc-gateway介绍 二,grpc-gateway环境准备 二,编写grpc-gateway服务 四,使用gateway生成swagger文档 五,性能对比 http -> go -> grpc -> go http -> go -> http -> grpc_gateway -> grpc -> go 六,总结 前言 调用,让客户端可以更具自身情况自由选择,服务端工作只需要做一份呢?还别说真还有一个准备好的轮子那就是今天的主角<

  • 用ASP读取XML文件的具体方法与示例

    分别保存下面两段代码,一个保存为readxml.asp另一个保存为test.xml,放在同一个目录下面,调试程序即可,在程序里面我已经做了解释,读取代码可以做成一个readxml的函数,通过使用输入的参数而读取xml不同数据记录的不同的值.这段程序的改编来自互联网,有什么出入请见谅. 复制代码 代码如下: <% dim xml,objNode,objAtr,nCntChd,nCntAtr Set xml=Server.CreateObject("Microsoft.XMLDOM"

  • ASP读取XML实例 优酷专辑采集程序 雷锋版

    复制代码 代码如下: <title>雷锋|优酷-专辑 采集程序</title></head> <form name="form1" method="post" action="?action=add"> <table width="95%" border="0" align="center" cellpadding="0&q

随机推荐