Page 1 sur 1

SMS et caractères spéciaux

Posté : 19 juil. 2006, 12:23
par charaf
Bonjour,

Je suis nouveau dans le coin, donc permettez moi de commencer par un petit problème que j'ai renconté lors de l'envoi d'SMS à travers un formulaire web.
A priori, le language n'importe pas, mais moi j'utilise un formulaire ASP pour passer les paramètres à la passerelle SMS.
Mon problème est le suivant, la passerelle que j'utilise fonctionne avec un paramètres "unicode", qui admet 2 valeurs: -0- si l'envoi est normal (160 caractères), -1- si l'envoi est en unicode (70 caractères). Quand j'utilise la valeurs 0 en envoyant des caractères accentués par exemple, le mobile ne les comprend pas.
Donc que dois-je faire pour pouvoir envoyer en normal avec des caractères accentués

Merci

Posté : 19 juil. 2006, 14:17
par Ripat
Bienvenue,

Malheureusement, il n'y a pas de miracle. En encodage normal, il te faudra te débarasser des accents avant de les envoyer. Tu dois tester les accents qui passent et supprimer les autres. Pour ma passerelle SMS (TM4B), voici le mapping que j'utilise:
$accents = '|áíóúýÁÍÓÚÝÀÈÌÒëïÿËÏâêîôûÂÊÎÔÛçãõÃÕ';
$sans =    '/aiouyAIOUYAEIOeiyEIaeiouAEIOUcaoAO';
$msg = strtr($msg, $accents, $sans);

Merci

Posté : 19 juil. 2006, 14:27
par charaf
Salut,

Merci pour votre réponse.
Il ya certainement une solution pour ce problème car si vous essayez d'envoyer un SMS à travers un site qui le propose, et bien il envoi 160 caracteres même avec ceux accentués, donc il doit certainement exister une solution

Merci bcp

Posté : 19 juil. 2006, 15:54
par Ripat
Je viens de refaire des tests sur la passerelle en référence plus haut.

Accentués acceptés:
éÉàèìòùÙäöüÄÖÜåÅøØßÇñÑ
Ils sont envoyés comme caractère unique.

Tous les autres sont rejetés et remplacés par des espaces. J'ai édité mon post plus haut pour mettre le mapping à jour.

Ceci dit, je ne suis pas un spécialiste de l'encodage de caractère SMS. Je pose la question au support TM4B.

Edit: Réponse du support:
http://www.tm4bhelp.com/kb/a-241.php