OVH Community, votre nouvel espace communautaire.

Envoie SMS et caractères spéciaux


JoannaKrupa
29/09/2010, 12h32
Zählen mit ASCI charcater

multinetworks
18/09/2010, 18h20
Heu, je ne comprend pas d'où tu sort ça.

Si je saisie les caractères spéciaux, le compteur ne passe pas à 70 dans le manager, voir capture : http://demo.ovh.com/data/43e36b15352...4a105e/cache/0

Peut tu en dire plus ?

TeChn4K
17/09/2010, 10h21
Ah !
Et bien je viens d'aller sur le manager, et oh ! Surprise ? Un caractère spécial fait passer le compteur en mode 70 ...
Je ne suis pas rancunier, mais la franchement ça me fait doucement sourir. Même chez OVH un caractère spécial ne vaut pas 1 quelque soit le caractère

TeChn4K
17/09/2010, 10h07
Re bonjour !
Alors, 6 mois après, on en est où ?

Jul.B
23/03/2010, 12h08
Ce que avance TeChn4K n'est pas correct, chez OVH un caractères spécial vaut 1 quelque soit le caractère. Le soucis présent sur l'interface Manager (2 SMS envoyés alors que l'affichage indique 1 SMS) est en cours de résolution en interne.

Shiryu
23/03/2010, 08h14
J'ai le même problème, le décompte est incorrecte. C'est en effet surprenant qu'on ait pas plus d'infos à ce sujet de la part d'OVH. Je souhaiterais aussi avoir davantage d'explications d'OVH et des solutions adaptées.

Merci TeChn4K pour tes informations

TeChn4K
16/03/2010, 17h36
Non, non, non et non ! Je confirme également !
J'ai envoyé depuis le manager un message contenant 150 caractères dont des spéciaux comme "ç" : 2 SMS en moins !

Et la meilleure c'est qu'OVH ne le sait même pas ! Ils sont persuadés qu'un '€', un 'ç' ou un 'a' ont la même valeur ! C'EST FAUX ! Et je suis même sûr que leur problème de caractère spécial y est lié !

Alors pour ceux qui veulent prendre un peu d'avance sur le staff technique, j'ai trouvé des infos (OVH vous n'êtes pas dispensé de prendre des notes ...)

L'alphabet GSM est codé sur 7 bits et contient les caractères suivant :
" 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN OPQRSTUVWXYZÄäàÅåÆæßÇèéÉìÖöòØøÑñÜüù#¤%&()*+,-./:;<>=§$!?£¿¡@¥Δ_ΦΓΛΩΠΨΣΘΞ"' "
(ne pas oublier le ', le " et l'espace qui sont à la fin)Ils valent 1 caractère, on est d'accord.

Les caractères suivants valent pour 2 caractères :
\[]{}~^|€
Ils comptent donc double !

Maintenant vous vous dites qu'il en manque encore, et c'est là que ca devient important :
Si vous tapez n'importe quel autre caractère que ceux précédemment énoncés, le SMS n'est plus encodé en alphabet GSM 7bits classique mais en UNICODE ! C'est l'opérateur mobile qui décide et pas OVH !
Dans ce cas là, vous n'avez plus que 70 caractères pour votre SMS et tous les caractères valent 1 sans exceptions !! Si vous dépassez 70 caractères vous serez débité de 2 SMS (ou plus)

Pour résumé :

Soit vous tapez des caractères normaux qui valent UN
Soit vous tapez des caractères spéciaux qui valent DEUX
Soit vous tapez n'importe quel autre caractère alors tous les caractères vaudront UN mais vous n'en aurez droit qu'à 70 !

OVH, vous n'êtes pas encore opérateur mobile, ce n'est pas vous qui décidez des règles d'envois ! Pour une entreprise de votre ampleur ce n'est vraiment pas sérieux, je pèse mes mots... Je ne vais pas aller jusqu'à demander un remboursement de mes SMS débités en trop mais ca me démange...

source : http://www.nowsms.com/discus/messages/1/1103.html

Et pour les intéressés j'ai fait un compteur PHP (à vous d'adapter, moi c'est un script php appelé par AJAX et qui me renvoit le nombrà de char restant pour l'afficher a coté de mon textarea)
Code PHP:
    $message stripslashes($_POST['message']); // Réception du message en POST (UTF-8)
    
$compteur 160;
        
    if(
$message != '')
    {
        
// Vaut 1 caractère en alphabet GSM
        
$one '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZÄäàÅåÆæßÇèéÉìÖöòØøÑñÜüù#¤%&()*+,-./:;<>=§$!?£¿¡@¥Δ_ΦΓΛΩΠΨΣΘΞ"\' '// Attention au ' et son antislash d'échappement ainsi qu'à l'espace en dernier caractère !
        // Vaut 2 caractères en alphabet GSM
        
$two '\[]{}~^|€';
        
        
$tab_message = array();
        
        while(
$message != '')
        {
            
$tab_message[] = mb_substr($message,0,1,'utf-8');
            
$message mb_substr($message,1,mb_strlen($message,'utf-8'),'utf-8');     
        }
   
        
// 1 J'aurais pu utiliser "str_split($message)" MAIS str_split n'est pas compatible UTF-8
        // 2 J'aurais pu convertir la chaine en iso avec utf8_decode MAIS l'iso n'a pas le symbole euro € :)

        
$mode70 false;

        foreach(
$tab_message as $lettre){
            if(
strstr($two$lettre))         // Si le caractère vaut 2
                
$compteur $compteur 2;
            elseif(
strstr($one$lettre))    // Si le caractère vaut 1
                
$compteur--;
            else                            
// Sinon on passe en format Unicode (70 caractère max)
            
{
                
$mode70 true;
                break;
            }
        }
            
        if(
$mode70)
            
$compteur 70 count($tab_message);
    }
    
    
$nb_caractere_restant $compteur;
    
?>
En tout cas je l'ai testé, il fonctionne. A vous d'adapter.

cheloo
06/03/2010, 00h11
Je confirme avoir déjà "subi" un décrément de 2 SMS alors que le compteur à la saisie n'indiquait qu'1, pour cause de quelques caractères spéciaux. Depuis, je prévois une petite marge !!

Jul.B
03/03/2010, 14h05
Il n'y a pas de table de correspondance (exemple é=2 etc...), chaque caractère (spécial ou non) vaut 1. La limite est donc à 160.

Pour le soucis que nous rencontrons actuellement (bug sur les caractères spécieux), nous travaillons actuellement à sa résolution.

OhVaHi
01/03/2010, 15h08
En effet,
Le mieux n'est pas de regarder le compteur OVH... à moins que ce soit déjà patché. J'ai contacté le support il y a 2 semaines, car j'ai remarqué que le nombre de SMS débité ne correspondait justement pas au compteur du manager. La raison du 'bug' est bien les caractères spécieux... mais l'interface de saisie n'en tenait pas compte et il n'y avait donc pas de moyen de savoir combien de sms allaient être débités avant de les envoyer. Ils m'ont promis que ça allait être corrigé sous peu... donc wait and see...

TeChn4K
01/03/2010, 13h55
Je ne pense pas que ce soit le mieux !

Je veux bien faire du reverse engineering sur le manager mais bon, ça ne sera pas la façon la plus fiable...

Vous rendez-vous compte du nombre de caractères différents qui existes ?!

Sérieusement, OVH ne peut pas nous transmettre ces infos ? On est obligé de tout se taper à la main ?!

Jul.B
17/02/2010, 08h17
Le mieux est de regarder le compteur de caractères que nous avons mis en place sur le Manager.

TeChn4K
16/02/2010, 16h15
Ca n'intéresse personne de savoir ?

TeChn4K
15/02/2010, 09h24
up !

TeChn4K
09/02/2010, 14h32
Bonjour à tous !

Je voudrais quelques infos concernant l'envoie d'SMS contenant des caractères spéciaux tels les 'à' ou 'œ'.

Sur mon téléphone, quand j'insère ce genre de caractères je vois mon compteur de lettres baisser sacrément.
Est-ce pareil pour l'envoie par OVH ?
Admettons que je fasse un SMS de 160 caractères avec des caractères spéciaux, vais-je être décompter de 2 sms ?

Si oui, comment savoir combien d'SMS seront envoyés ou connaitre la valeur de chaque caractère spécial ?

Merci d'avance !