[轉]解決IIS下UTF-8文件報錯亂碼的問題


找了兩天才找到解決辦法……。暈暈暈...用第二種方法解決了。

網上找到的方法都沒有寫這一條

If objASPError.ASPDescription > "" Then
  后面的回車去掉(這個地方微軟寫錯了)

將這一句后面的<br>注釋掉即可!

Response.Write Server.HTMLEncode(objASPError.ASPDescription)' & "<br>"

轉自:http://blog.csdn.net/Kevin__lin/article/details/4149784

解決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編碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM