Communication XMLRPC entre Python et PHP - Probleme de caracteres speciaux
Bonjour,
J'ai des soucis pour transferer des chaines de caracteres composees de caracteres speciaux.
Mon serveur est en PHP.
Si je fais un client PHP, celui-ci communique correctement la chaine.
Voici le code du serveur PHP:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?php
include("xmlrpcutils/xmlrpc.inc.php");
include("xmlrpcutils/xmlrpcs.inc.php");
function getTest($param){
$fp = fopen("/tmp/debug.xmlrpc.txt","a");
fwrite($fp, date("d.m.y H:i:s : ")."parametre : ---".$param."---\n");
fclose($fp);
return new xmlrpcresp(new xmlrpcval('90', 'int'));
}
$server = new xmlrpc_server( array(
"getTest" => array("function" => "getTest", "signature" => array(array($xmlrpcInt, $xmlrpcString)))
),false);
$server->functions_parameters_type = 'phpvals';
$server->response_charset_encoding = 'ISO-8859-1';
$server->service();
?> |
et mon client PHP qui fonctionne parfaitement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<?php
include "xmlrpcutils/xmlrpc.inc.php";
$xmlrpc_client = new xmlrpc_client('/server_test.php','monserveur',80);
// 2: CONSTRUCT THE REQUEST (AN XML-RPC MESSAGE)
$xmlrpc_msg = new xmlrpcmsg('getTest', array(new xmlrpcval('caractères','string')));
// 3: SEND THE REQUEST
$xmlrpc_resp = $xmlrpc_client->send($xmlrpc_msg);
// 4: WORKING WITH THE SERVER'S RESPONSE
if ($xmlrpc_resp == False) // check for successful transaction
die('error message');
if (!$xmlrpc_resp->faultCode()) {
}?> |
et voici mon client python qui n'envoit pas les données correctement :
Code:
1 2 3 4 5 6 7 8
|
import xmlrpclib
server = xmlrpclib.Server('http://monserveur/server_test.php');
machaine = "Ceci est un test avec des caractères très spéciaux..."
result = server.getTest(machaine)
print "Result:", result |
Mes caractères non ascii sont d'office remplacés par des "?".
Une idée serait la bienvenue.
Merci d'avance.
J