典型的编码引起的程序问题。
程序可以设置2个语言版本, 部分不同语言版本的用词, 可以在config_admin.asp设置,但奇怪的是, 部分繁体语言词语可以正常运行, 部分就不能。 具体2个语言版本的词汇设置如下:
------------------------------------------------------------------
lang(0)="English"
website(0)="ec_en"
webname(0)="English Console"
DBpath(0)=" "
WebPath(0)=" "
fonttype(0)="GB2312"
webstr(0,0)="More Info"
webstr(0,1)="No product in this type"
webstr(0,2)="No download file"
webstr(0,3)="Previous"
webstr(0,4)="Next"
webstr(0,5)="No Featured Products"
webstr(0,6)="View Featured Products of "
webstr(0,7)="Page"
webstr(0,8)="No Featured Products in This Type"
lang(1)="Chinese "
website(1)="ec_cn"
webname(1)="中文后台"
DBpath(1)=" "
WebPath(1)=" "
fonttype(1)="GB2312"
webstr(1,0)="更多資訊"
webstr(1,1)="No product in this type"
webstr(1,2)="沒有下載文件"
webstr(1,3)="Previous"
webstr(1,4)="Next"
webstr(1,5)="沒有推薦産品"
webstr(1,6)="瀏覽推薦産品 - "
webstr(1,7)="頁面"
webstr(1,8)="No Featured Products in This Type"
------------------------------------------------------------------
奇怪的是, 在设置繁体中文版时,webstr(1,1)="No product in this type" 和 webstr(1,8)="No Featured Products in This Type", 如果设置为简体中文正常,设置为繁体中文, 就报错如下:
------------------------------------------------------------------
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft VBScript 编译器错误 错误 '800a0409'
未结束的字符串常量
/admin/inc/config_admin.asp,行58
webstr(1,8)="瑭查鍒ョ洰鍓嶆矑鏈夋帹钖︾敚鍝?
--------------^
------------------------------------------------------------------
如果在文件头部加入“<%@Language="VBScript" CodePage="65001"%>”, 则报错如下:
------------------------------------------------------------------
Active Server Pages, ASP 0141 (0x80004005)
@ 命令只能在 Active Server Page 中使用一次。
/config_admin.asp, 第 1 行
------------------------------------------------------------------
注释:config_admin.asp这个文件要在别的很多地方作为插入文件, 而别的网页也有一句类似这样的代码,config_admin.asp里有一句类代这样的代码<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
代码重复,所以报错。
------------------------------------------------------------------
如何才能去掉ASP文件中的繁体中文的乱码?暂时想不出解决办法, 可以先用英文表达那2个短语。
------------------------------------------------------------------
2010-05-31, 田老师的解决方法:
看不出错误, 那么把源代码放入记事本过一下,然后用DREAMWEAVER新建一个文件,编码设置为和目标文件一样,删除所有内容,再把源代码放进去保存为许要的文件。记事本去掉了错误的格式。
运行结果:程序能正常运行, 但在网页输出的繁体中文是乱码。
------------------------------------------------------------------
2010-05-31, 在繁体系统服务器上测试:
程序能正常运行,运行结果正确。
------------------------------------------------------------------
2010-06-13, 检查运行页面, 而不是出错页面:
后台统一为UTF-8编码,在处理一个简体中文网站的时候, 同样出现错误。检查运行页面,发现在页面顶部忘记加入:
< %@LANGUAGE="VBSCRIPT" CODEPAGE="65001"% >