由于我无法控制的原因,我不得不使用 XML-RPC 接口。我的客户端是 Ruby,服务器是 PHP。我的问题是消息中的任何“特殊”字符都会在此过程中被更改。
例如,这是我可能在 Ruby 中进行的调用:
server = XMLRPC::Client.new2('http://mysite.com/path/to/server/')
response = server.call('postTopic', {
:topic_title => "Tsígö"
})
注意参数中的两个特殊字符:topic_title
。
当它到达服务器时,该日志显示如下:
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>postTopic</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>topic_title</name>
<value>
<string>TsÃgö</string>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>