当前位置: 首页 > 图文教程 > 网络编程 > ASP > 解决IIS下UTF-8文件报错乱码的问题

ASP
ASP字符串大写转换成小写 ASP小写转换成大写 ucase lcase
asp base64加解密函数代码
Discuz!NT 论坛整合ASP程序论坛
discuz 2.0整合asp系统,用户添加函数
P3P 和 跨域 (cross-domain) cookie 访问(读取和设置)
通过asp程序来创建access数据库
检查access数据库中是否存在某个名字的表的asp代码
asp #include file 与 #include virtual 的区别小结
一个带采集远程文章内容,保存图片,生成文件等完整的采集功能
asp 横排显示数据
asp base64 utf-8为了兼容asp.net的base64
两个非常规ASP木马(可躲过扫描)
asp DateDiff实现文字在特定时间后消失
ASP所有的Session变量获取实现代码
关于ASP eof与bof 区别分析
asp ajax注册验证之 防止用户名输入空格
asp sqlserver 执行存储过程返回记录集报对象关闭时不允许操作
ASP 获取文件扩展名函数getFileExt()
asp 简单分页代码
asp删除mssql数据库中没有记录的图片代码

ASP 中的 解决IIS下UTF-8文件报错乱码的问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 63 ::
收藏到网摘: n/a

解决IIS下UTF-8文件报错乱码的问题

原因:
你的网站是utf-8编码,但iis的错误信息输出默认使用的是gb2312编码。导致iis出现运行时错误的时候显示的页面是乱码。

解决办法:
[办法1]
自己处理错误,不让iis来处理。
在所有可能出错的地方,都用类似下面的方式来捕捉。
On Error Resume Next
Err.Raise 6 '这行是可能出错的代码
If Err Then
Response.Write Err.Description
Response.End
End If
On Error Goto 0

[办法2]
改变iis错误信息输出默认编码。
1)将c:\winnt\help\iishelp\common\500-100.asp拷贝到网站(根)目录下
2)将这个文件修改为utf-8编码。
2.1)头部加上 @codepage=65001
2.2)option explicit后面加上一行response.charset="utf-8"
2.3)将Session.Codepage = 936改为Session.Codepage = 65001
2.4)将第156行
If objASPError.ASPDescription > "" Then
后面的回车去掉(这个地方微软写错了)
2.5)配置iis,设置“自定义错误页面”,将500;100的类型设为URL,同时URL设为 /500-100.asp
2.6)将500-100.asp另存为utf-8编码