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

ASP
ASP调用ORACLE存储过程并返回结果集
用ASP实现网页BBS
关于Global.asa文件的深入研究与session变量失效提示的具体方法
简易ASP+注册系统
防护手册:如何防止ASP木马在服务器上运行
用Visual Basic实现多画面播放功能之二
如何增强ASP程序性能(1)
如何增强ASP程序性能(2)
如何增强ASP程序性能(3)
ASP备份数据库
二十八条改善 ASP 性能和外观的技巧
在Form域中Post大于100K的数据
如何使用ASP制作模似动态生长的表单?
Microsoft IIS 真的如此「不安全」吗?(1)
Microsoft IIS 真的如此「不安全」吗?(2)
Microsoft IIS 真的如此「不安全」吗?(3)
Microsoft IIS 真的如此「不安全」吗?(4)
Microsoft IIS 真的如此「不安全」吗?(5)
关于页面和代码分离
ServerVariables 对路径的操作

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


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