关闭

网站用utf-8编码,但是如果页面出错,则会出现乱码,必须在当前页面右键打开源文件,才能看到错误信息

标签: iisurl微软c
903人阅读 评论(0) 收藏 举报


这是一个bug。

-----------------------------------------------
原因:

你的网站是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.45)将500-100.asp另存为utf-8编码

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22476次
    • 积分:278
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:6篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论
    。net相关