Aller au contenu

Mauvais encodage des sms


Recommended Posts

  • Réponses 68
  • Créé
  • Dernière réponse

Top forumeurs sur ce sujet

Vu ce que dit Inderweltsein, le comportement est donc... normal. (Faudrait aller jouer dans les RFC pour voir ce qui est préconisé dans ces cas là, mais faut avoir le temps :D)

Ce qui me fait dire que ce n'est pas un problème de Android, c'est qu'il m'est arrivé d'envoyer un long sms à trois personnes, et qu'une seule de ces personnes ait mal décodé le SMS. Ce qui prouve que certains téléphones savent faire la différence...

Modifié par Max_well
Lien vers le commentaire
Partager sur d’autres sites

Pour ma part j'ai entrepris de chercher le bogue dans le code.

Mes conclusions pour l'instant : si plusieurs caractères accentués font partie de l'alphabet GSM (norme GSM 03.38 que je découvre comme vous), quelques uns d'entre eux ne font en fait pas dans l'alphabet GSM (par exemple le "â", je n'ai pas pensé à répertorier tous les caractères courants non présent dans cet alphabet SMS). Dès lors si un tel caractère est utilisé au lieu d'user de l'alphabet GSM, le téléphone use de l'UTF-16 (ou UCS-2).

A ce moment là du fait d'une entête qui précise l'encodage en UTF-16, le premier SMS est restreint à 140 caractères, et comme l'UCS-2 utilise 2 octets par caractère, c'est en fait 70..

L'encodage UTF-16 semble être bien géré par les autres téléphones tant qu'on reste en dessous du 1er SMS, mais est mal reçu dès qu'on dépasse ce 1er SMS.

Dès lors ces téléphones décodent le SMS comme si c'était du GSM 03.38 au lieu de l'UTF-16

(d'où la multitude de @ : en effet dans l'UTF-16, le premier octet est souvent zéro (tant qu'on utilise des caractères non exotiques/accentués) or 0 correspond à @ dans l'alphabet GSM 03.38)

A noter que Android décode correctement le SMS (même si il dépasse le 1er SMS) si il se l'envoie à lui même.

Salut inderweltsein ! Merci pour ces infos, c'est un très bonne initiative que d'avoir fait une revue de code.

Je pense que ces éléments pourrait faciliter la résolution de notre problème. As-tu envisagé d'en faire part sur le thread offciel ?

Ce qui me fait dire que ce n'est pas un problème de Android, c'est qu'il m'est arrivé d'envoyer un long sms à trois personnes, et qu'une seule de ces personnes ait mal décodé le SMS. Ce qui prouve que certains téléphones savent faire la différence...

Là-dessus je suis partagé... je pense que le problème est quand même imputable à Android dans la mesure où c'est lui qui choisi les entêtes de message et encode son contenu. Après que le mobile du destinataire sache le décoder correctement c'est une chose mais il y a bien un problème à l'origine. Nan ?

Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...

Salut,

Ya eu du nouveau là dessus ?

Parce qu'on m'a encore dit que la fin de mes sms était illisible... Un peu emmerdant quand même. :/

PS : On peut voir à combien de caractères on est avec l'appli de base ? J'ai pas vu. oO'

Lien vers le commentaire
Partager sur d’autres sites

Nan, pas de nouvelles et pas de compteur de caractères. Mais tu peux :

- poster dans le sujet officiel du site de google (lien en première page) si c'est pas encore fait.

- voir le nombre de messages dans lequel il encapsule ton sms lorsque tu "ranges" le clavier ;)

Lien vers le commentaire
Partager sur d’autres sites

- voir le nombre de messages dans lequel il encapsule ton sms lorsque tu "ranges" le clavier ;)

Ah ok, nickel, ça me suffit. :)

Et tant pis pour l'encodage. :/

Avec Handcent (je crois que c'est comme ça), ya des soucis avec les messages aussi ?

Je l'avais regardé, ça paraissait pratique, mais moche. :/

Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...

t'es vraiment chanceux alors.

ça m'arrive plusieurs fois par semaine et pas pouvoir envoyer des message de plus de 160 caracteres c'est aussi inconcevable sur des telephone nouvelle generation.

Pour moi se point des sms est vraiment le point noir depuis que j'ai mon magic.:(

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

J'ai fait plusieurs tests vers un téléphone Nokia N95.

Voici les caractères qui passent sans soucis:

é è à ù " ' ^ (le ^ comme dans le smiley ^^)

Et les caractères qui foutent le bordel:

ê û ç ë (et plus globalement une lettre avec un accent circonflexe ou un tréma)

Il faut garder un oeil sur le nombre de caractères que le téléphone indique, c'est un bon indice pour savoir qu'on a utilisé un caractère "interdit".

Lien vers le commentaire
Partager sur d’autres sites

J'ai l'impression que si on termine le SMS par un ! ou un ?, ça fait bugait le message ?

(Sms qui contient pas mal de caractère..)

Non à priori... Ce sont principalement les caractères avec un ^ ou un ¨, ainsi que la cédille qui cause le problème.

Lien vers le commentaire
Partager sur d’autres sites

Bonne nouvelle les enfants !

Le statut du bug, sur le site de support Android, a été officiellement mis à jour :D

Voilà ce que ça donne :

Type-Defect

Priority-High

Component-Applications

Target-Donut

Triaged-Yes

Si tout ce passe bien, ce bug sera corrigé avec Donut (1.6). Encore un peu de patience et on pourra faire des sms de ouf avec des accents circonflexs et même des trémats pour les plus avanturiers d'entre vous ^^

Modifié par be0ne
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.




×
×
  • Créer...