По независящим от меня причинам мне приходится использовать интерфейс 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>