Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Services Web
Services Web Forum d'entraide pour les services Web en PHP, qui permettent de créer et de consommer facilement des webservices (génération de WSDL etc.). Exemples : SOAP, NuSOAP, REST, SCA-SDO... Avant de poster -> Cours webservices
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/06/2007, 18h34   #1
Membre habitué
 
Avatar de tintin72
 
Inscription : septembre 2003
Messages : 595
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 595
Points : 123
Points : 123
Par défaut [SOAP] Erreur d'encodage ?

Bonjour,

J'ai une erreur d'encodage SOAP lors du passage d'une string via une fonction.
Citation:
SoapFault exception: [SOAP-ENV:Server] SOAP-ERROR: Encoding: string
ça vient du ç contenu dans la chaine de caractère (lorsque je l'enlève tout remarche).
l'entête de mon fichier wsdl est :
Citation:
<?xml version="1.1" encoding="UTF-8"?>
Est ce que le pb vient de là ?

Merci
tintin72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 18h37   #2
Membre éclairé
 
Avatar de Asmodean
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : février 2006
Messages : 311
Points : 346
Points : 346
Envoyer un message via MSN à Asmodean
J'avais eu le même problème et depuis je passe toute les chaîne de SoapFault et de retour par utf8_encode.
Asmodean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 18h54   #3
Membre habitué
 
Avatar de tintin72
 
Inscription : septembre 2003
Messages : 595
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 595
Points : 123
Points : 123
cad ? Qu'est ce que je doit faire exactement pour corriger le pb ?
tintin72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 19h07   #4
Membre éclairé
 
Avatar de Asmodean
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : février 2006
Messages : 311
Points : 346
Points : 346
Envoyer un message via MSN à Asmodean
C'est lors d'un return que ca arrive?

Si c'est le cas, au lieu de faire

tu fais

Code :
return utf8_encode($retour);
Asmodean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 19h19   #5
Membre habitué
 
Avatar de tintin72
 
Inscription : septembre 2003
Messages : 595
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 595
Points : 123
Points : 123
oui, c'est lors d'un return.

Effectivement en utilisant utf8_encode je n'ai plus
d'erreur, par contre à la place du ç il m'affiche 2 caractères
plutôt bizzare (un A avec un tilde au-dessus et un autre incompréhensible).
Y aurait-il autre chose à modifier ?
tintin72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 21h48   #6
Membre habitué
 
Avatar de tintin72
 
Inscription : septembre 2003
Messages : 595
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 595
Points : 123
Points : 123
Ah oui d'accord... il faut utiliser
Code :
1
2
 
utf8_decode($retour);
dans le fichier qui récupère la variable.
c'est bon à savoir
Par contre c'est un peu lourd de mettre uft8_encode et uft8_decode à
chaque string...
N'y a t-il pas une autre solution ?
tintin72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2007, 09h16   #7
Membre éclairé
 
Avatar de Asmodean
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : février 2006
Messages : 311
Points : 346
Points : 346
Envoyer un message via MSN à Asmodean
Si elle existe je ne la connaît pas en tout cas. Peut en regardant du côté de l'encodage du WSDL, des pages du WS...

Enfin moi utf8_encode /decode ça me va bien
Asmodean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2007, 09h25   #8
Membre habitué
 
Avatar de tintin72
 
Inscription : septembre 2003
Messages : 595
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 595
Points : 123
Points : 123
Il y a aussi la solution d'encoder les caractères accentués directement du style:
Code :
1
2
 
&ccedil;a va &agrave; la maison ?
J'ai vu qu'il y avait aussi la solution de sauvegarder les fichiers au format utf8 au lieu de latin1 (qui est la norme par défaut chez nous).
Mais je n'ai pas trop approfondi. Si quelqu'un en sait plus qu'il n'hésite pas
tintin72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h05.


 
 
 
 
Partenaires

Hébergement Web