【ASP】UTF-8编码的vbscript页面,调试信息的乱码问题

在被UTF-8编码的vbscript页面,在写程序的过程中,不小心写错的话,在页面的输出信息是乱码的,如下图所示:


让人无法得知错误的原因。

毕竟在vbscript最初发展的时候,UTF-8编码还没有普及,都是默认以服务器系统的默认编码来跑网页,这与现在网页皆用UTF-8是相矛盾的。

虽然,现在ASP的市场占用率几乎变得没有了,之前普遍用ASP.NET都经过一番大幅度的代码修改升级成ASP.NET了,但是你还是要知道怎么解决问题。

网上流行的方法,是每次都要修改这个出错页面的编码,或者引入一种Try-catch语句来自己处理异常,这太麻烦了,谁知道我写程序的时候,又会什么时候写错呢?

正确方法是改变iis中asp错误信息输出默认编码。具体如下:

1、将C:\WINDOWS\Help\iisHelp\common\500-100.asp找到,你也可以直接用系统的搜索功能将这个500-100.asp文件找出来,用记事本打开


2、将这个文件另存为为utf-8编码,到你的网站的根目录,如果你没有改过IIS的默认网站一般是:C:\Inetpub\wwwroot

3、检查一下你的网站根目录的权限状态,一般Windows2003是全开的,可以跳过此步,就怕部分版本的Windows2003抽风而已。一般在Web共享,打开为“共享文件夹”就可以了,共享的时候,授予权限默认就行。这里,无须像部分网站写的一样,要先在“共享”处整成“共享此文件夹”,在于“安全”中的IIS来宾账户授予全部权限。


4、之后,用记事本或者notepad、Editplus等工具打开你网站根目录下的500-100.asp文件进行如下的修改:

(1)头部加上<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>,Option Explicit后面加上一行response.charset="utf-8",这两行先保证报错页面的编码是UTF-8的


(2)将Session.Codepage=936改为Session.Codepage=65001,这里保证Session的编码是UTF-8。


(3)保存退出。

4、在控制面板中打开“管理工具”中的IIS管理器,配置你的网站的属性,设置“自定义错误”,将500;100的类型设为URL,同时URL设为/500-100.asp。保存退出即可。


5、可以看到,如果以后你的UTF-8编码网站的出错页将会变成如下状态:


显然,报错清晰了许多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值