|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。程序ASP程序界面的多言语撑持
大概有的web使用程序,必要多言语撑持,比方,会商组,既有中文界面,
以合适国人利用的便利,又必要英文界面,以满意国际化的必要。我想,
仿佛没有需要为每个言语都写一个版本,这不但对照烦琐,并且今后程
序晋级就必需修正一切版本的程序。熟习vc++程序的伴侣必定晓得一般
windows使用程序的国际化手腕都是经由过程rc文件来办理的。只需从头到场
分歧言语版本的rc文件编译一下就好了。
asp程序不克不及编译也不需编译。我因而入手下手思索利用数据库,将ASP程序中
利用到的提醒信息/乃至图片的URL等都放进数据库,并有分歧的字段。
(1)数据库表计划
表STRINGTABLE
idint
ch_strvarchar255
jp_strvarchar255
en_strvarchar255
...................其他言语的字段
(2)inc文件STRINGTABLE.INC
constMAX_STR=100依据ID的最年夜值
constLANG_CH=1
constLANG_JP=2
constLANG_EN=3
dimstrArr
dimstrRS
dimstrSql
ifnotisArray(APPLICATION("constStr"))then
strSql="select*fromW_STRINGTABLE"
setstrRS=conn.execute(strSql)
redimstrArr(3,MAX_STR)
dowhilenotstrRS.eof
strArr(LANG_CH,clng(strRS("ID")))=strRS("CH_STR")
strArr(LANG_JP,clng(strRS("ID")))=strRS("JP_STR")
strArr(LANG_EN,clng(strRS("ID")))=strRS("EN_STR")
strRS.movenext
loop
APPLICATION.lock
APPLICATION("constStr")=strArr
APPLICATION.unlock
strRs.close
else
strArr=APPLICATION("constStr")
endif
(3)使用示例
constLANG_CH,STR_CONFIRM_OVERWRITE=1234
...
response.writestrArr(LANG_CH,STR_CONFIRM_OVERWRITE)
response.writestrArr(LANG_JP,STR_CONFIRM_OVERWRITE)
假定有程序user.asp
挪用体例以下
user.asp?language=en(中文)
user.asp?language=ch(E文)
-----------user.asp
dimlang
ifnot(isnull(request("language"))orisempty(request("language"))or(request("language")=""))then
ifrequest("language")="en"then
lang=LANG_EN
elseifrequest("language")="jp"then
lang=LANG_JP
else
lang=LANG_CH
endif
else
lang=LANG_CH
endif
..................
response.writestrArr(lang,STR_CONFIRM_OVERWRITE)
注:
经由过程metatag能够设置html页面的言语代码。
<metaHTTP-EQUIV="Content-Type"content="text/html;charset=gb_2312-80">中文gb3212-80
<metahttp-equiv</U>="Content-Type"content="text/html;charset=x-sjis">日文Shift-jis</p>对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了, |
|