ASP中操作UTF-8格式的文件

注意:这里说的ASP

ASP由于它的一些功能对UTF-8支持非常差。

比如,你想生成一个UTF-8格式的文件,使用常用的Scripting.FileSystemObject对象就不行。

Scripting.FileSystemObject对象创建文件的函数,是下面方式:

FileSystemObject.CreateTextFile(filename[,overwrite[,unicode]])

其中的unicode属性是这样描述的:

可选项。Boolean 值指明是否以Unicode或ASCII文件格式创建文件。如果以Unicode文件格式创建文件,则该值为True;如果以ASCII文件格式创建文件,则该值为False。如果省略此部分,则假定创建 ASCII文件。

我们是无法用这个函数来创建UTF-8格式文件的。

这时候,我们可以使用ADODB.Stream对象,使用方法见下面:

Set objStream = Server.CreateObject("ADODB.Stream")
With objStream
.Open
.Charset = "utf-8"
.Position = objStream.Size
.WriteText=str
.SaveToFile server.mappath("/sitemap.xml"),2
.Close
End With
Set objStream = Nothing

附:

ASCII 、Unicode 、 UTF-8 介绍:

ASCII是一种字符集,包括大小写的英文字母、数字、控制字符等,它用一个字节表示,范围是0-127。

由于ASCII 表示的字符非常有限,各个国家或者地区在此基础上提出了自己的字符集,比如在中国应用非常广泛的GB2312,它为汉字提供了编码,用两个字节表示。

这些字符集之间互不兼容,相同的数字可能表示不同的字符,为信息交流带来了麻烦。

Unicode是一种字符集,它将世界上的所有字符映射成一个唯一的数字(code point),比如字母a对应的数字 0x0041。目前 Unicode 还处于发展中,它所包容的字符越来越多。 

在将 Unicode 表示的字符进行存储时,还需要一定的编码方式,比如 UCS-2,它用两个字节来表示 Unicode 编码的字符。而UTF-8是Unicode 字符集的另外一种编码方式,它是变长度的,最多 6 个字节,小于127 的字符用一个字节表示,与 ASCII 字符集的结果一样,因而具有非常好的兼容性,ASCII 编码下的英语文本不需要修改就可以当作 UTF-8 编码进行处理,应用非常广泛。

时间: 2024-10-27 09:48:58

ASP中操作UTF-8格式的文件的相关文章

mediaplayer-android中MediaPlayer播放M3U8格式本地文件时,网络权限被禁止,仅在小米3,4上有

问题描述 android中MediaPlayer播放M3U8格式本地文件时,网络权限被禁止,仅在小米3,4上有 最近用Vitamio的Mediaplayer开发一款视频播放软件,在小米3和小米4上出现本地视频无法播放的问题:具体为: 当关闭小米3.4的移动网络和wifi之后,使用mediaplayer播放器播放已下载的视频会出现VitamioPlayer: error (1, -5),并且出现网络权限被拒的提示(注:联网权限都已经在manifest中注册)如下图错误提示: 当wifi和移动网络打

ASP中FSO的神奇功能 - 写文件

fso 作 者 : 甘冀平 ; 假设你想创建一个简单的留言簿,你可以建立一个数据库,在其中存储用户的信息.然而,如果并不需要数据库的强大功能,使用FSO来存储信息将节省你的时间和金钱.并且,一些ISP也许限制了web上的数据库应用. 假设你在一个表单中收集了一些用户信息,这里是一个简单表单HTML代码: < html>< body> < form action="formhandler.asp" method="post"><

ASP中FSO的神奇功能 - 写文件_FSO专题

作 者 : 甘冀平 ; 假设你想创建一个简单的留言簿,你可以建立一个数据库,在其中存储用户的信息.然而,如果并不需要数据库的强大功能,使用FSO来存储信息将节省你的时间和金钱.并且,一些ISP也许限制了web上的数据库应用. 假设你在一个表单中收集了一些用户信息,这里是一个简单表单HTML代码: < html> < body> < form action="formhandler.asp" method="post"> <

在ASP中操作数据库的方法

在ASP中,用来存取数据库的对象统称ADO对象(ActiveDataObjects),主要含有三种对象:Connection.Recordset和Command,其中Connection负责打开或连接数据库,Recordset负责存取数据表,Command负责对数据库执行行动查询(ActionQuery)命令和执行SQLServer的StoredProcedure.只依靠这三个对象还是无法存取数据库的,还必须具有数据库存取的驱动程序:OLEDB驱动程序和ODBC驱动程序.对于任何一种数据库都必须

ASP中利用execute实现动态包含文件的方法_ASP CLASS类

摘要:本文介绍了ASP中动态包含ASP文件,并使其中ASP类(Class)可实例化的方法. ASP中,include file/virtual 是优先脚本代码处理的,所以无法使用include动态包含ASP文件.我们可以使用Execute函数动态执行所需代码. 方法: Execute(ASP代码) 例子:(vbCrLf为换行符) 复制代码 代码如下: Execute("Class clsAbc"&vbCrLf&"Public Function output&q

ASP中利用execute实现动态包含文件的方法

摘要:本文介绍了ASP中动态包含ASP文件,并使其中ASP类(Class)可实例化的方法. ASP中,include file/virtual 是优先脚本代码处理的,所以无法使用include动态包含ASP文件.我们可以使用Execute函数动态执行所需代码. 方法: Execute(ASP代码) 例子:(vbCrLf为换行符) 复制代码 代码如下: Execute("Class clsAbc"&vbCrLf&"Public Function output&q

ASP中查询数据库记录写入XML文件示例

xml|示例|数据|数据库 把下面代码保存为Asp_XML.asp运行即可: <% 'By Dicky 2005-03-22 21:52:18 AM QQ:25941 E-mail:AppleBBS@GMail.Com Const IsSql = 1    '定义数据库类型为SQL Server Call OpenConn(Conn) '打开数据库连接 Dim Rs,Sql Set Rs = Server.CreateObject("ADODB.RecordSet") Sql =

在ASP中操作HTTP报头方法分析

我们已经在几处见到ASP如何创建或修改在响应页面请示时被发送到客户的HTTP报头.在Response对象中有几个属性和方法可帮助我们做到一点.下面是一些报头方法: · 控制缓存和有效期. · 创建状态和定制的HTTP报头. · 指定MIME类型或内容类型. · 添加PICS标签. 接下来将简要地研究每一个方面.可在"Response Object"主页(show_response.asp)上,单击相关属性名或方法名,来检查我们所说的属性和方法. 1. 缓存和"到期"

ASP动态网页生成静态Html网页文件技术

动态|静态|网页 网页生成静态Html文件有许多好处,比如生成html网页有利于被搜索引擎收录,不仅被收录的快还收录的全.前台脱离了数据访问,减轻对数据库访问的压力,加快网页打开速度. 所以吟清最近对生成html比较感兴趣,看了不少文章,也有一点点收获. 1,下面这个例子直接利用FSO把html代码写入到文件中然后生成.html格式的文件 <% filename="test.htm"  if request("body")<>""