ITPub博客

首页 > Linux操作系统 > Linux操作系统 > QuickWAP轻松解决WAP中文参数传递(转)

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

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-06-04 14:00:07 0 删除 编辑
编写WAP程序的开发人员都知道在URL中传递中文参数是一个非常棘手的问题,要么接收不到参数值,要么接收到一堆乱码。

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


图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博客 ” ,链接:https://blog.itpub.net/10294527/viewspace-127180/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    3481
  • 访问量
    3019298