解決Delphi XML-RPC 中文亂碼、結構/數組等沒有解析I4項BUG

 最近要用XML-RPC機制實現delphi程序與Qt程序之間的通信,從開源網站http://sourceforge.net/projects/delphixml-rpc/

下載Delphi XML-RPC 後發現中文字符串會出現亂碼,跟蹤代碼後發現XML-RPC默認的

字符編碼是UTF-8,而且QT也都是用UTF-8編程,故把傳輸字符串改爲UTF-8就行了。

修改方法:

一、單元XmlRpcTypes.pas

     1、修改TRpcFunction類中的三個函數:GetRequestXML、GetResponseXML、GetErrorXML
         通過Delphi內置函數UTF8Encode()把此三個函數的最後結果轉成UTF-8編碼:
         Result := UTF8Encode(Result);

        

二、單元LibXmlParser.pas

     1、修改函數TXmlParser.TranslateEncoding(const Source: string): string;
         函數體內的AnsiToUtf8()函數有問題,改用UTF8Encode()就行了:

        

 

三、解決沒有解析I4項BUG:

    1、修改單元XmlRpcServer
        搜索INT4 替換成I4

       

 

修改後的所有代碼詳見附件:網絡太卡無法複製剛發佈的下載地址,請到我上傳的資源去找

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章