参数传递的问题

cer 2003-07-17 07:55:24
我的WEB服务程序如下:
<WebMethod()> Public Function findschool(ByVal xian As String, ByVal zhen As String) As String '加入学校的WEB服务
Try
Dim conn As SqlConnection = New SqlConnection(ConnStringAll)
Dim adapter As SqlDataAdapter
Dim mytable As DataTable
Dim ssql As String
Dim returnstr As String
ssql = "select * from userhouse where 所属市='" & CStr(Trim(xian)) & "' and 所属镇='" & CStr(Trim(zhen)) & "'"
conn.Open()
adapter = New SqlDataAdapter(ssql, conn)
mytable = New System.Data.DataTable("mydb")
adapter.Fill(mytable)
Dim i As Integer = 0
For i = 0 To mytable.Rows.Count() - 1
If returnstr = "" Then
returnstr = Trim(mytable.Rows(i)("学校名称"))
Else
returnstr = returnstr & "|" & Trim(mytable.Rows(i)("学校名称"))
End If
Next
Return returnstr
mytable.Clear()
conn.Close()
Catch ex As Exception
findschool = ex.ToString() & xian & zhen & ConnStringAll
End Try
End Function

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

我的xian和zhen内容是汉字的,返回时returnstr为空,但我用xian和zhen的实际内容代替ssql = "select * from userhouse where 所属市='" & CStr(Trim(xian)) & "' and 所属镇='" & CStr(Trim(zhen)) & "'" 中的xian和zhen后
使ssql="select * from userhouse where 所属市='蓬江区' and 所属镇='环市镇'"
查录的结果不为空,returnstr为一个字符串了我找了很久,有可能是,用javascript调用这个函数时,参数是汉字.

我的疑问就是:WEB服务的参是不是不能为汉字?如果用汉字怎么办?
...全文
26 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
cer 2003-09-16
  • 打赏
  • 举报
回复
我再顶一下
cer 2003-09-15
  • 打赏
  • 举报
回复
我的情况是: 在asp.net的介面上有一个text,和一个按扭,用户在text内输入内容,按下按扭,然后javascript调用Web Services的一个函数,将text的内容传到Web Services,Web Services将内容写入一个xml内.出现的情况是:当用户输入英文时,一切正常,内容能输入xml中,但当输入中文是,在xml就会出现型如"%u5F20%u79D1%u5CF0"的乱码,我Web.config和xml的编码是:"gb2312",
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
我想问,这是什么,怎样处理?

ylsf666 2003-09-15
  • 打赏
  • 举报
回复
建议把汉字encode一把,服务期段decode一把,肯定没有问题.
cer 2003-09-15
  • 打赏
  • 举报
回复
我自已顶
maygood99 2003-07-30
  • 打赏
  • 举报
回复
我同意楼上的说法!
qqchen79 2003-07-30
  • 打赏
  • 举报
回复
一个无关的建议:最好不要用字符串拼接写SQL语句。
试想如果我使xian="whatever' or 1==1 --",查询的结果是什么?不难写出更有危害性的参数。
suhuoqiang 2003-07-30
  • 打赏
  • 举报
回复
??
skydream 2003-07-24
  • 打赏
  • 举报
回复
我顶
fq_ln 2003-07-19
  • 打赏
  • 举报
回复
客户端写的JAVASCRIPT里的中文字通过ASP.NET的UTF-8编码后是无法识别的(乱码)
暗石绿 2003-07-19
  • 打赏
  • 举报
回复
还有个问题就是:
如果你的xian和zhen必须要先经过编码。

暗石绿 2003-07-19
  • 打赏
  • 举报
回复
看看这样:

<WebMethod()> Public Function findschool(ByVal xian As String, ByVal zhen As String) As String '加入学校的WEB服务

xian=server.urldecode(xian)
zhen=server.urldecode(zhen)
qwbyxw 2003-07-19
  • 打赏
  • 举报
回复
将参数值返回出来再查看一下:

returnstr = returnstr & xian & zhen & ConnStringAll
cer 2003-07-19
  • 打赏
  • 举报
回复
自已up
cer 2003-07-18
  • 打赏
  • 举报
回复
如果用utf-8,在window.location="indox.aspx?www=一个中文参数时"那个中文参数是乱码的
xxxyyyy 2003-07-18
  • 打赏
  • 举报
回复
有什么好的解决办法赶快说出来啊,我也想知道
panyee 2003-07-18
  • 打赏
  • 举报
回复
默认是utf-8不用改的

客户端调用的页面也是utf-8吧?

我试怎么都可以
cer 2003-07-18
  • 打赏
  • 举报
回复
<globalization requestEncoding="gb2312" responseEncoding="gb2312" />
我以这么设了但还是不行啊
fq_ln 2003-07-18
  • 打赏
  • 举报
回复
象楼上说的那样,也许问题出现在编码上,确认你所编写的应用程序的编码都为同一个类型,否则汉字很可能被解释为非法字符(乱码)。
Web Service的编码可由Web.config配置,如果你用Asp.Net调用,确认你所用的编码和Web服务所用的编码相同.

cer 2003-07-18
  • 打赏
  • 举报
回复
javascript可以吗?
CharlesWang 2003-07-18
  • 打赏
  • 举报
回复
将信息使用UTF-8编码

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧