0

XMLRPC クライアントを使用して Adestra API サービスを呼び出しています。現在、ボスニア文字の č、ć、ž、đ、š の挿入に問題があります。

XMLRPC クライアントを UTF-8 で動作するように構成しましたが、まだ問題があります。ここに私のコードサンプル:

//******* LOGIN DATA*******/
$account = 'account';
$username = 'username';
$password = 'password';
$adestraCoreTable=1;


/**INITIALIZE API*****/
require_once('xmlrpc.inc');//First inlcude XMLRPC client library


//Calling Adestra API with our credentials
$xmlrpc= new xmlrpc_client("http://$account.$username:$password@new.adestra.com/api/xmlrpc");
$xmlrpc->setDebug(0);
$xmlrpc->request_charset_encoding="UTF-8";


$msg = new xmlrpcmsg(
                    "contact.search",
                    array(
                        //Set user id
                        new xmlrpcval($adestraCoreTable, "int"),
                        new xmlrpcval(
                            array(
                                "firstName"=> new xmlrpcval("Čokolada", "string"),
                            ),"struct"
                        )
                    )

                );
$response = $xmlrpc->send($msg);//Send request, and get the response

コードの残りの部分は $response を解析していますが、これはここでは主な関心事ではありません。

ご覧のとおり、firstNameが に設定されていますČokoladaが、Adestra で確認すると、値が になりますÄokolada。明らかに、エンコードに問題があります。

誰でも助けることができますか?

4

1 に答える 1

5

xmlrpc.inc でこれを置き換えます

$GLOBALS['xmlrpc_internalencoding']='ISO-8859-1';

これとともに

$GLOBALS['xmlrpc_internalencoding']='UTF-8';
于 2014-09-04T18:39:14.303 に答える