我在Delphi中用import wdsl的方法调用.net的Web Service,当Delphi程序在调用该Web Service的web方法时,将一个中文字符串作为参数传入到该方法中,在调试中发现在Web Service中执行该方法是传入的中文都变成了问号。请问如何解决该问题
解决方案 »
- 如何用sql语句查询出系统时间now的前1个月的相符数据?
- 关于Delphi编码的问题
- 怎样实现类似OICQ的那种可以点击弹动的菜单?
- procedure mm;写在什么位置才能被其他的单元调用?
- 晕死!!!好好的程序一到Vistal就出错。。。。。。。。。。。
- 如何设置quickreport 打印预览窗体 显示在屏幕中央?
- 请教关于DELPHI中Frame窗体的用法
- delphi 7 IdHTTP1升级更新问题。
- 图片存储出现问题,请帮助!!!速!!!非常感谢
- 请问delphi中怎样编程关闭modom的声音,十万火急,要多少分都给
- 我在自己写的WebServices中调用自己写的进程间的COM服务,结果WebServices没有调用COM服务,但也没有报错。
- 求一个用来启动IE工具条的BHO的代码!!把互联网翻了个遍也没找到DELPHI的版本!
-----------------------------------------------------------------------------------
Delphi7编写的客户端调用C#编写的WebService服务时,如果函数中传递的参数为汉字时,可能出现乱码现象。 在网上搜索了一些资料,找到解决办法:将HTTPRIO的UseUTF8InHeader属性改为true即可。
即编辑由Import WSDL文件生成的 *.pas 单元文件,在Get函数中增加一句:RIO.HTTPWebNode.UseUTF8InHeader:=True。
代码片断大致如下: ------------------
.......
try
RIO.HTTPWebNode.UseUTF8InHeader:=True; //在此添加一句,修改编码方案。
Result := (RIO as test);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
.......
----------------