ASP代码发生错误显示信息乱码解决办法
asp网站使用utf-8编码时,如果asp发生错误,显示的错误信息是乱码,需要切换浏览器浏览编码为gb2312才会显示正确的错误信息。因为IIS的错误信息输出默认使用的是gb2312编码。
有2种解决办法,让asp错误信息不显示乱码
1)自己写代码来容错,不使用IIS默认的错误代码页。(适用于无法管理IIS的用户)
On Error Resume Next'在可能出错第地方增加这句后,碰到错误asp会继续执行 '....你的asp代码 If Err<>0 Then'发生错误 Response.Write Err.Description Response.End End If On Error Goto 0'开启错误提示,碰到错误会调用iis的错误处理页面
2)修改网站错误页面处理页面,变为utf-8编码。(适用于能管理IIS服务器的用户)
1)打开路径,C:\WINDOWS\help\iisHelp\common,找到500-100.asp这个文件(用来显示asp错误信息的),将这个文件拷贝到你的网站根目录下。
2)用记事本打开这个文件,另存为,将存储编码改为utf-8保存。具体可以看这个:asp网站使用utf-8编码注意事项
500-100.asp修改后的代码如下
<%@ language="vbscript" codepage="65001" %> <% Option Explicit Session.codepage=65001 Response.Charset="utf-8" Const lngMaxFormBytes = 200 Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL If Response.Buffer Then Response.Clear Response.Status = "500 Internal Server Error" Response.ContentType = "text/html" Response.Expires = 0 End If Set objASPError = Server.GetLastError %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML><HEAD><TITLE>无法显示此页</TITLE> <META HTTP-EQUIV="Content-Type" Content="text/html; charset=utf-8"><!--更改编码为utf-8-->
3)修改网站的错误处理页面,打开IIS,网站属性,自定义错误,找到500-100错误,更改如下图所示
做了这样的设置后,asp发生错误时就会显示详细错误信息,而不是乱码
加支付宝好友偷能量挖...
原创文章,转载请注明出处:ASP代码发生错误显示信息乱码解决办法