网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> Delphi编程 >> 文章正文
  Delphi中的XML-RPC库 不支持中文的解决方案            【字体:
Delphi中的XML-RPC库 不支持中文的解决方案
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-12    

最近在网上看了一个帖子: 主题:   客户端用delphi写,服务器端用java写,这样的模式是否可行呢?

其中用户 greateWei  的思路 提醒了我:使用 XML_RPC的方式 进行不同语言的交互。
正在装载数据……
以前在某软件公司做过 JAVA => XML => HTTP  = >XML => DELPHI 的 系统,没有使用其他的技术,仅使用了 IDHTTP组件来获取XML。唯一的感觉就是构造过程比较麻烦,特别是构造 XML 时。现在用于有个组件了XML-RPC。

系统架构实现基于几点考虑:
1、XML-RPC同SOAP比较:由于Delphi SOAP客户端存在一些性能问题和同Java实现存在一些兼容性问题,因此考虑采用XML-RPC实现,而且XML-RPC实现同SOAP实现相比较,性能要好很多;
2、XML-RPC同SOCKET比较:采用HTTP协议可以有效穿透不同网络防火墙;
3、采用XML格式交换数据,而不采用XML-RPC标准格式交换数据,主要是由于XML-RPC格式比较简单,复杂的数据格式很难满足需求,直接使用对象XML数据流方式,有利于系统扩展;

今天小试了Apache XML-RPC:http://ws.apache.org/xmlrpc/,与 Delphi XML-RPC:http://sourceforge.net/projects/delphixml-rpc/ ,使用 Apache的  在 服务器 使用,而 Delphi 地作为客户端使用。发现了一个问题:使用 Delphi  XML-RPC库时,不不支持中文。

通过GOOGLE 各种 信息,和 察看 Delphi  XML-RPC库 的源代码,发现 其中的XML解析单元 LibXmlParser.pas 不支持 亚洲 字符集。于是产生了修改 XML解析单元 LibXmlParser.pas 的念头。

最后发现 问题出现在这几句:

CurContent := CurContent + CHR (StrToIntDef ('$'+Copy (Name, 3, MaxInt), 32))

和 CurContent := CurContent + CHR (StrToIntDef (Copy (Name, 2, MaxInt), 32));

当 存在多字节字符 时,使用 CHR  就有问题。是用 WideChar 即可解决问题。




本文来源:http://blog.csdn.net/tanminr/archive/2007/08/10/1736007.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     在delphi中使用xml文档有…
     初探delphi 7 中的插件编…
     delphi 2006(dexter) & …
     获得windows的版本信息。
     “序列号输入助手”源代…
     rs232串口通讯模块
     ado方式下判断数据表是否…
  • Ant入门-配置和使用     选…

  • 浅析Spring框架下PropertyPl…

  • SPRING+STRUTS+HIBERNATE登录…

  • MVP——Model-Viewer-Presen…

  • C++ Object Model

  • constructor and destructor

  • 绑定HGE到AngelScript脚本系…

  • delegate C#关键字 (委托类型…

  • Boyer-Moore String Searchi…

  • 【游戏制作基础】网络游戏设…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David