begin process at 2012 05 31 19:29:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Réseau & Internet

 > 

Autre

 > 

Verifier l'encodage de la requete d'un WebService


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Verifier l'encodage de la requete d'un WebService

lundi 15 juin 2009 à 14:53:43 | Verifier l'encodage de la requete d'un WebService

japette

Bonjour,

Je bute depuis pas mal de temps sur un problème qui m'est assez difficile de résoudre. C'est pour cela que j'ai besoin de vous!

J'écris un webservice qui reçoit des informations afin de les insérer en base. Celles-ci doivent absolument être encodées en UTF8. Je dois, dans le service, vérifier que c'est bien le cas. J'ai rien trouvé de mieux que de faire un appel à la fonction :

mb_detect_encoding($string. 'a' , "UTF-8",true)

Celle ci retourne "UTF-8" si la chaine n'est pas accentuée ou si elle est accentuée ET encodée en UTF-8.

J'ai fait le test en étudiant le contenu de certains fichiers encodés sous différents formats (grâce à Notepad++) et cela marche.
En revanche le même test avec des informations venant de mon service ne marche pas. Je pense que c'est la trame qui est encodée en UTF8 et que je n'y peux rien, car par exemple quand j'envoie un accent encodé en ANSI il est mal reçu de l'autre côté (caractère d'erreur) mais détecté comme étant en UTF8.

Avez vous une idée ?

Merci d'avance

lundi 15 juin 2009 à 16:08:56 | Re : Verifier l'encodage de la requete d'un WebService

kohntark

Membre Club
Réponse acceptée !
Salut,

Par quel biais ton service reçoit il les données ? (sockets, cURL, ...)


Cordialement,

Kohntark -

lundi 15 juin 2009 à 16:14:52 | Re : Verifier l'encodage de la requete d'un WebService

japette

J'utilise la classe SoapClient de la façon qui suit :

    $client = new SoapClient("http://localhost:8080/web/monService.wsdl",
    array("trace" => 1, "exceptions" => 0));
    try
    {
        $ns = 'http://localhost:8080/web/';
        $AuthHeader = new ClientAuthData($username,$password);
        $header =  new SoapHeader($ns,"AuthHeaderElement",  $AuthHeader,false);
        $client->__setSoapHeaders(array($header));   
    }

De plus je suis sur le serveur Apache fourni avec EasyPHP 2.0b1.
lundi 15 juin 2009 à 16:29:16 | Re : Verifier l'encodage de la requete d'un WebService

japette

... et j'appelle tout bêtement la méthode de la façon suivante :

$tmp=$client->Envoyer($soap_object);
  if($tmp instanceof SoapFault){
      print('<br/>Warning - Exception : '.$tmp->getMessage());
  } else {
      print('<br/>Résultat de la requete : '.$tmp.'.');
  }

Je dois préciser que je suis sous le framework symfony côté service.


Cette discussion est classée dans : utf8, verifier, utf, webservice, encodage


Répondre à ce message

Sujets en rapport avec ce message

Encodage ou pas [ par codefalse ] Bonjour à tous :)J'ai codé un ptit site rapide avec bdd. J'ai indique aux headers que l'encodage serait en utf-8, mes fichiers étaient encodés en utf8 Incompréhension sur les Headers [ par jdaviaud ] Bonjour à tous,Pour un des sites de mon entreprise, j'ai voulu le passer une fois terminé dans la moulinette W3C ( http://validator.w3.org/ ) qui m'a Détecter encodage et conversion vers UTF8 [ par bruno9292 ] Bonjour,pour faire simple, j'ai une chaine, dont je ne connais pas l'encodage (ça peut etre UTF8, ISO8859-1, ISO8859-15, etc...) et j'aimerais la conv Encodage [ par coockiesch ] Bonjour à tous!   J'ai une petite question: je génère un document xml en php...Les actions que je fais sont:* utf8_encode* remplacer &, par leur équi encodage utf8 .... [ par kalif ] Bonjour, j'ai un petit problème, dans le fichier index.php , je fais appel via la fonction require_once à inc.func.php Les deux fichier sont encodé Problème d'encodage [ par zzzzzz ] Bonjour, Je ne retrouve plus le poste que j'avais poster pour mon problème donc je vais l'exposer de nouveau ici ! J'ai une BDD en UTF8_BIN, j'ai mi probleme d'encodage [ par whouu ] Salut a tous , je dois indexer une dixaine de sites internet dont certains ont un charset=utf-8 d'autres iso etc etc dans ma base mysql qui est config Problème encodage accent grave [ par pwet8484 ] Bonjour,J'ai un soucis avec le stockage de mes accents en base de données. Plutôt classique mais le truc bizarre c'est que ça ne me le fait pas avec t Encodage PHP [ par Kickaha59 ] Bonjour à tous,Je souhaite spécifier que mon fichier php est encodé en tel norme, n'importe laquelle.Le principe c'est que si je vais de le linux  sur ecriture de XML problème d'encodage [ par lounkokobi270987 ] Bonjour a tous J'ai un petit probleme qui me donne des gros mot de tête:J'aimerai modifier un fichier XML en PHP et le réecrire aprés dans mon fichier


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales