使ASP输出结果不支持html语法


所属类别:Asp

文章作者:佚名

特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!


有时候我们会为这样一个问题而烦恼,就是如何在asp页面中避免支持html语法.例如: 下面一句话"这是一个表单语句"当我们在ASP文件中用response.write"这是一个表单语句"输出这句话时,结果会出现一个文本框,显然这与我们的目的背离.为了得到正常的输出结果 :这是一个表单语句我们要对这个字串做一下特殊处理,有3种方法可以实现:1.直接用ASP语法server.htmlencode()rstr="这是一个表单语句"rstr=server.htmlencode(rstr)response.write rstr'response语句输出结果即可的到正确结果,但这种方法好象有可能产生乱码.笔者曾遇到过这个头痛的问题.本人的主页是放在国外的一个服务器上,用了这种方法之后,所有中文全部是乱码,而英文却正确,可是服务器却明显说支持中文,于是想到第2种方法.2.只对字符串中的除中文以外的字符用server.htmlencode()语法,具体语句如下:rstr="这是一个表单语句"temp = ""for i = 1 to len(rstr)zh = mid(rstr,i,1)if (asc(zh)>40 and asc(zh)<130) then zh=server.htmlencode(zh)'判断字符zh是否为中文,若不是则对它用server.htmlencode()temp = temp + zhnextrstr= tempresponse.write rstr'得到的结果非常正确,而且不会出现乱码.但这种方法语句冗余,处理速度不快,于是有了更好的第3种方法.3.这是一种特殊的方法,可以说思路很巧妙.我们都知道html标记都是以"<" ">"组合而成,因此只要对这两个特殊字符做特殊处理即可,即把"<" 用"<",">"用">"代替,这样就可避免浏览器支持html语法了.具体语句如下:rstr=replace(rstr,"<","<",1)rstr=replace(rstr,">",">",1)response.write rstr'这种方法简单明了,不仅能的到正确结果,也不会有乱码,推荐使用。关闭本页

相关信息

· 如何在LINUX下实现硬件的自动检测(上)

· Java 之父谈NetBeans:Ruby、Ajax一个都不能少!

· 关于微软的.NET Framework是一个半成品的言论!

· 企业交换机故障排查方法与分析








....

13037 51152