解決IIS下UTF-8文件報錯亂碼的問題
原因:
你的網站是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.6)將500-100.asp另存為utf-8編碼