国际化 Unicode 字符集(100分)

  • 主题发起人 主题发起人 bpearl
  • 开始时间 开始时间
B

bpearl

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi的webservice client,调用java的webservice服务,发现国际化问题,也就是delphi使用那种国际化的字符集编码的?
 
不知道你说什么,只是想昕昕。
 
应该是 Unicode (UTF-8) 吧?
 
近日我也碰到类似问题,现已经解决了,与大伙分享如下:
通过监控SOAP调用的过程可以发现Delphi向Web Server提出HTTP请求时,数据是以UTF-8编码通过POST方式提交出去的,但Delphi在HTTP请求头内设置Content-Type为text/xml,造成服务端认为POST方式的数据是iso8859-1编码,因此就出现了所谓中文问题。只要在Delphi提出HTTP请求的时候设置Content-Type为text/xml;
charset= UTF-8就ok了。
解决之道如下:
记得将THTTPRio组件的HTTPWebNode.UseUTF8InHeader := true ;
 
就是这样的,我用delphi调用ASP.NET写的WEB SERVICE时也遇到过这样的问题。
加上了这句RIO.HTTPWebNode.UseUTF8InHeader:=true;就运对了。
 
为什么我用dephi调java写的soap一点中文问题都没碰到呢,一切正常。。。
 
后退
顶部