网上有朋友讲,“右键查看一下源代码里面显示的就是正常的”,真是在扯蛋啊!至少哥在源代码里面看到还是乱码。综合了一下网上朋友的意思,再加上洪哥的亲手实践,发现以下两个办法是OK的。
解决UTF-8编码的ASP页面报错信息是乱码的方法一:
使用on error resume next
<%
If Err Then
%>
错误 Number: <%= Err.Number %><br/>
错误信息: <%= Err.Description %><br/>
出错文件: <%= Err.Source %><br/>
出错行: <%= Err.Line %><br/>
<%
End If
%>
这个语句大家都会用,就不多讲了。因为这个错误是我们自己控制输出的,所以输出的编码系统会严格按照我们的Response.CharSet来,所以,当前页面是UTF-8,那错误信息也是UTF-8的。不过,出错行,即Err.Line,其实是显示不出来的。唉,又一次蛋疼。
解决UTF-8编码的ASP页面报错信息是乱码的方法二:
自定义http-500-100错误
1、找到windows下的help\iishelp\500-100.asp,将其拷贝到网站根目录下。
2、修改文件的编码为UTF-8,默认是GBK
3、<%@ language="VBScript">修改为<%@ language="VBScript" @codepage=65001 %>
4、option explicit后面加上一行Response.Charset="utf-8"
5、<META HTTP-EQUIV="Content-Type" Content="text/html; charset=gb2312">修改为<META HTTP-EQUIV="Content-Type" Content="text/html; charset=utf-8">
6、找到Session.Codepage = xxx,把xxx改成65001(65001是UTF-8编码的代号)
7、将IIS上的自定义错误中的500-100错误,由默认值改为URL,指向的地址为“/500-100.asp”即可。
这个方法也是有一个不好的地方,那是直接跳转到自定义错误页面去了,不是实时在当前页面显示错误,不友好!
关于UTF-8编码的ASP页面报错信息是乱码,本文就介绍这么多,希望对您有所帮助,谢谢!
要饭二维码
