[AS2]asp生成xml后 as读取后显示中文乱码的问题
2012-02-06 12:14:44 来源:本站整理核心提示:asp在FSO生成xml后,xml文件编码utf-8,[AS2]asp生成xml后 as读取后显示中文乱码的问题,但在flash读取xml时,flash中显示中文乱码,则假定为 ASCII 文件,所以原因是第三个参数应该设置为true,原因是fso不支持utf-8,只支持ansi、unicode等Set MyFile
asp在FSO生成xml后,xml文件编码utf-8,但在flash读取xml时,flash中显示中文乱码。原因是fso不支持utf-8。只支持ansi、unicode等Set MyFile = fso.CreateTextFile(xmlfile,True,-1) 这句的第三个参数就非常重要-1是boolean值的true。
解决办法是:set fileobj=objFso.CreateTextFile(server.mappath(fileDir),True,True)
以下是我的函数代码:
- Function createTextFile(Byval content,Byval fileDir,Byval code)
- dim fileobj,fileCode : fileDir=replace(fileDir, “\”, “/”)
- if isNul(code) then fileCode=”gbk” else fileCode=code
- call createfolder(fileDir,”filedir”)
- on error resume next:err.clear
- set fileobj=objFso.CreateTextFile(server.mappath(fileDir),True,True)
- fileobj.Write(content)
- set fileobj=nothing
- if Err or not isNul(code) then
- err.clear
- With objStream
- .Charset=fileCode:.Type=2:.Mode=3:.Open:.Position=0
- .WriteText content:.SaveToFile Server.MapPath(fileDir), 2
- .Close
- End With
- end if
- if Err Then createTextFile=false : errerrid=err.number:errdes=err.description:Err.Clear : echoErr err_writefile,errid,errdes else createTextFile=true
- End Function
下面是对CreateTextFile的参数的详细说明:
object.CreateTextFile(filename[, overwrite[, unicode]])
参数
object
必选项。应为 FileSystemObject 或 Folder 对象的名称。
filename
必选项。指明所要创建文件的字符串表达式。
overwrite
可选项。Boolean 值,指明能否覆盖已有文件。如果文件可以覆盖,则值为 true ,否则为 false。如果忽略,则已有文件不能被覆盖。
unicode
可选项。Boolean 值,指明文件是否以 Unicode 或 ASCII 文件方式创建。如果文件作为 Unicode 文件创建,则值为 true ,如果作为 ASCII 文件创建,则为 false。如果忽略,则假定为 ASCII 文件。
所以原因是第三个参数应该设置为true。这样就能解决flash读取xml文件时候乱码的问题。
- ››asp.net页面弄成伪静态页面
- ››Asp.net 中将汉字转换成拼音的方法
- ››ASP.NET及JS中的cookie基本用法
- ››ASP.NET获取MS SQL Server安装实例
- ››asp.net实现调用百度pai 在线翻译英文转中文
- ››ASP.NET页面选项进行提示判断
- ››Asp.net定时执行程序
- ››ASP.NET中利用DataList实现图片无缝滚动
- ››ASP.NET验证控件RequiredFieldValidator
- ››ASP.NET中使用System.Net.Mail发邮件
- ››ASP.NET中获取用户控件中控件的ID
- ››ASP.NET中FileBytes写成文件并存档
更多精彩
赞助商链接