fso.CreateTextFile在英文系统下生成有中文字符的网页

bluesky2002 2005-11-10 09:56:16
源代码如下:set rs=server.createobject("adodb.recordset")
rs.open ("select info_show from mb"),conn,1,1
pencat=rs("info_show")
rs.close
rs.open ("select * from examinfo where id="&request("id")&""),conn,1,1
if not rs.eof then
id=rs("id")
GEXAM_Error="<a href='error.asp?ID="&id&"')>发现错误</a>"
end if
rs.close

pencat=replace(pencat,"S_TXTS_PIC",GEXAM_Error)

Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fout = fso.CreateTextFile(server.mappath("../examinfo/"&id&".htm"))
fout.Write pencat

问题如下:

当rs("info_show")存在汉字时,执行到这个fout.Write pencat语句就会出错,报错如下:

Microsoft VBScript runtime error '800a0005'

Invalid procedure call or argument

但当rs("info_show")都是英文时,就能正常生成文件.初步确定是英文系统下fout.Write()函数写入双字节时出错,请问有什么办

法吗?
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jspadmin 2005-11-11
  • 打赏
  • 举报
回复
你再在本页面的代码最上面加上页面编码啊 如<%@language=vbscript codepage=936 %>gb2312什么的,多试试
----------------------------------------------------------------------------------
欢迎光临我的小站(提供免费博客申请):http://www.pifoo.com,有问题的话,可以在留言本上给我留言http://www.pifoo.com/guestbook/
zmy0611 2005-11-11
  • 打赏
  • 举报
回复
UP
bluesky2002 2005-11-10
  • 打赏
  • 举报
回复
改了之后,rs("info_show")可以正常写了,但是原来可以正常现在GEXAM_Error="<a href='error.asp?ID="&id&"')>发现错误</a>"之类的汉字(发现错误)却变成了乱码
jspadmin 2005-11-10
  • 打赏
  • 举报
回复
Set fout = fso.CreateTextFile(server.mappath("../examinfo/"&id&".htm"),true,true)'第2个参数设置为true表示以Unicode方式创建
顺便将这句改成这样试试fout.WriteLine pencat
-----------------------------------------------------------------------------
欢迎光临我的小站http://www.pifoo.com 有什么问题可以给我留言http://www.pifoo.com/guestbook/ 我的QQ:33323489

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧