首页 > 代码库 > [转]解决IIS下UTF-8文件报错乱码的问题

[转]解决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编码

[转]解决IIS下UTF-8文件报错乱码的问题