ASP代码发生错误显示信息乱码解决办法

  asp网站使用utf-8编码时,如果asp发生错误,显示的错误信息是乱码,需要切换浏览器浏览编码为gb2312才会显示正确的错误信息。因为IIS的错误信息输出默认使用的是gb2312编码。

ASP代码发生错误显示信息乱码解决办法

  有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发生错误时就会显示详细错误信息,而不是乱码

ASP代码发生错误显示信息乱码解决办法


原创文章,转载请注明出处:ASP代码发生错误显示信息乱码解决办法

评论(0)Web开发网
阅读(231)喜欢(0)不喜欢(0)Asp/VBScript