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

ASP
如何把ASP编写成DLL(3)
ASP实用大全-实战ASP(1)
ASP实用大全-实战ASP(2)
ASP实用大全-实战ASP(3)
ASP实用大全-实战ASP(4)
ASP实用大全-实战ASP(5)
ASP实用大全-实战ASP(6)
ASP实用大全-实战ASP(7)
ASP实用大全-实战ASP(8)
ASP中Cookie使用指南
Flash和Asp数据库的结合应用
asp模块化分页制作详解
ASP中使用SQL语句操作数据库
浅谈ASP中Web页面间的数据传递
一个采集入库生成本地文件的几个FUCTION
微软建议的ASP性能优化28条守则(1)
微软建议的ASP性能优化28条守则(2)
微软建议的ASP性能优化28条守则(3)
微软建议的ASP性能优化28条守则(4)
微软建议的ASP性能优化28条守则(5)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 215 ::
收藏到网摘: 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编码