OVH Community, votre nouvel espace communautaire.

Chaine de caractére et telephonySmsUserSend


paul_7500
13/06/2013, 12h07
Bonjour,

J'ai connu un problème similaire que j'ai résolu avec un utf8_encode ...

Code:
telephonySmsUserSend("$sms_user_1", "$sms_password_user_1", "$sms_compte", "$from", "$to", "$texte", "", "1", "", "", "2", "");
	echo ("envoi réussi pour ".$prenom_destinataire." ".$nom_destinataire."

"); } catch(SoapFault $fault) { echo "erreur pour ".$prenom_destinataire." ".$nom_destinataire.":
".$fault."


"; } ?>

fritz2cat
12/06/2013, 21h48
1° voir http://en.wikipedia.org/wiki/GSM_03.38
2° tu comprendras qu'au premier ç ou € qui apparaît dans le SMS, l'entièreté du message est codée en 16 bit au lieu de 7 bit, ce qui réduit un SMS à 70 caractères au lieu de 160.
3° certaines plateformes peuvent ne pas supporter le codage sur 16 bit, ce qui est probablement le cas de OVH.

Frédéric

jul64
12/06/2013, 20h25
Bonjour à tous,

je rencontre un petit soucis avec l'utilisation de telephonySmsUserSend.
J'ai un message d'erreur comme quoi j'envoie des caractères non UTF-8.
En effet, j'envoie des caractères comme ç € é ...

Vous avez un piste ?
j'ai essayé de convertir la variable avec iconv.
Mais je reçois un sms dont le message n'est pas complet (coupé au premier caractére non-UTF8)

Code:
/* creation de la variable to dans laquelle nous recuperons via la methode post
le champ portant le nom destinataire au niveau de la page form.html */
$to=$HTTP_POST_VARS['destinataire'];

/* creation de la variable message dans laquelle nous recuperons via la methode post
le champ portant le nom texte au niveau de la page form.htlm */
$message=$HTTP_POST_VARS['texte'];
$str_translit = iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $message);

// ouverture de la fonction soapi

try {
$soap = new SoapClient("https://www.ovh.com/soapi/soapi-re-1.59.wsdl");

//telephonySmsUserSend
//telephonySmsUserSend
$result = $soap->telephonySmsUserSend("$utilisateur", "$pass", "$sms_compte", "$from", "$to", "$str_translit", true);  


echo "telephonySmsUserSend successfull\n";
print_r($result); // 
} catch(SoapFault $fault) {
echo $fault;
}

Merci pour votre aide !