QuickWAP轻松解决WAP中文参数传递(转)

编写WAP程序的开发人员都知道在URL中传递中文参数是一个非常棘手的问题,要么接收不到参数值,要么接收到一堆乱码。

  为什么会这样呢?这是因为WAP在传递参数时均采用了UTF-8的编码方式,所以我们是不可以在WAP的URL地址中直接传递中文参数的。那么是不是就没有好的解决方法了呢,答案是否定的,我们看看QuickWAP是怎样解决这个问题的,先来预览一下代码运行效果图,如图1所示。

b_CFABFC12E272D603.jpg
图1

  图1的实例是一个歌名列表,当点击到某一首歌的链接时,链接传递中文参数--歌手名,并将其显示出来。程序源代码如下:

Set Wap=Server.CreateObject("QuickWap.WapNetSdk")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Name=Wap.RequestText("Name") '接收传递的中文字符,并赋值给变量Name
Wap.WriteRow "您知道这些歌儿是谁的吗?"
If Name<>"" Then Wap.WriteRow "您选择的歌儿是" & Name & "唱的"
Wap.WriteRow Wap.A("",Wap.ThisFileName & "?Name=" & Wap.SubmitText("周杰伦"),"1. 夜曲")
Wap.WriteRow Wap.A("",Wap.ThisFileName & "?Name=" & Wap.SubmitText("孙楠/韩红"),"2. 美丽的神话")
Wap.WriteRow Wap.A("",Wap.ThisFileName & "?Name=" & Wap.SubmitText("成龙/金喜善"),"3. 无尽的爱")
Wap.WriteRow Wap.A("",Wap.ThisFileName & "?Name=" & Wap.SubmitText("潘玮柏"),"4. 不得不爱")
Wap.WriteRow Wap.A("",Wap.ThisFileName & "?Name=" & Wap.SubmitText("周杰伦"),"5. 发如雪")
Wap.WriteRow Wap.A("",Wap.ThisFileName & "?Name=" & Wap.SubmitText("周笔畅"),"6. 笔记")
Wap.WriteRow Wap.A("",Wap.ThisFileName & "?Name=" & Wap.SubmitText("花儿乐队"),"7. 嘻唰唰")
Wap.WriteRow Wap.A("",Wap.ThisFileName & "?Name=" & Wap.SubmitText("陈慧琳"),"8. 希望")
Wap.WriteRow Wap.Img("GoWAP.png")
Wap.PageFooter
Set Wap=Nothing
%>

  代码看起来并不是很难,与WEB的URL参数传递相比,只是多了一个SubmitText函数。在接收参数值时也多了一个RequestText函数,下面我们简单介绍一下这两个函数。

名称SubmitText
作用用于传递中文字符的内容的函数。
声明Public Function SubmitText(Optional ByVal ToDoString As String) As String
参数设置需要传递的中文字符串内容,可以为某个变量。
备注支持中英数字符混合传递。

名称RequestText
作用用于接收Submit函数传递中文字符的内容的函数。
声明Public Function RequestText(Optional ByVal ToDoString As String) As String
参数

设置接收SubmitText提交的中文字符作为那个变量值的变量名。

备注只能接收SubmitText它传递的中英文字符。

  对于RequestText("Name")接收到的值是中文字符,例如接收到的为"中国",但是输出时,我们还要进行UTF-8编码输出,我们可以采用以下几种方法:

接收并输出的代码输出的WML源代码
Wap.WriteRow Wap.RequestText("Name")中国
Wap.WriteOut Wap.RequestText("Name")

中国

Response.write Wap.Ascii(RequestText("Name"))

中国

Response.write RequestText("Name")

中国

  有了上面的基础后,我们就可以利用在数据库方面,以开发出更强大的功能,例如以下SQL语句:

  ......  
  Name=Wap.RequestText("Name")
  Sql="Select * From HaoXiao Where Title like '%" & Name & "%'"
  .........

  以上代码仅作为抛砖引玉,本文不做过多讨论。

  QuickWAP利用两个函数就轻松的解决了WAP中URL传递中文参数问题,让初接触WAP编程的开发人员不必再去辛辛苦苦编写那些烦琐的编码函数,而将精力放在最主要工作上去即可。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-127180/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-127180/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值