最近要用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
修改後的所有代碼詳見附件:網絡太卡無法複製剛發佈的下載地址,請到我上傳的資源去找