asp網(wǎng)站使用utf-8編碼時(shí),如果asp發(fā)生錯(cuò)誤,顯示的錯(cuò)誤信息是亂碼,需要切換瀏覽器瀏覽編碼為gb2312才會(huì)顯示正確的錯(cuò)誤信息。因?yàn)镮IS的錯(cuò)誤信息輸出默認(rèn)使用的是gb2312編碼。
有2種解決辦法,讓asp錯(cuò)誤信息不顯示亂碼
1)自己寫代碼來(lái)容錯(cuò),不使用IIS默認(rèn)的錯(cuò)誤代碼頁(yè)。(適用于無(wú)法管理IIS的用戶)
-收縮VBScript
代碼On Error Resume Next'在可能出錯(cuò)第地方增加這句后,碰到錯(cuò)誤asp會(huì)繼續(xù)執(zhí)行
'....你的asp代碼
If Err<>0 Then'發(fā)生錯(cuò)誤
Response.Write Err.Description
Response.End
End If
On Error Goto 0'開(kāi)啟錯(cuò)誤提示,碰到錯(cuò)誤會(huì)調(diào)用iis的錯(cuò)誤處理頁(yè)面
2)修改網(wǎng)站錯(cuò)誤頁(yè)面處理頁(yè)面,變?yōu)閡tf-8編碼。(適用于能管理IIS服務(wù)器的用戶)
1)打開(kāi)路徑,C:\WINDOWS\help\iisHelp\common,找到500-100.asp這個(gè)文件(用來(lái)顯示asp錯(cuò)誤信息的),將這個(gè)文件拷貝到你的網(wǎng)站根目錄下?! ?br/> 2)用記事本打開(kāi)這個(gè)文件,另存為,將存儲(chǔ)編碼改為utf-8保存。具體可以看這個(gè):
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>無(wú)法顯示此頁(yè)</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=utf-8"><!--更改編碼為utf-8-->
3)修改網(wǎng)站的錯(cuò)誤處理頁(yè)面,打開(kāi)IIS,網(wǎng)站屬性,自定義錯(cuò)誤,找到500-100錯(cuò)誤,更改如下圖所示
做了這樣的設(shè)置后,asp發(fā)生錯(cuò)誤時(shí)就會(huì)顯示詳細(xì)錯(cuò)誤信息,而不是亂碼
留言反饋