Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
On parle des Pics, sans rapport avec le langage ou la programmation

Modérateur : Jérémy

Envoi D'un E-mail par GSM
francois77
Passionné
Passionné
Messages : 307
Enregistré en : avril 2022

#41 Message par francois77 » ven. 27 janv. 2023 17:33

Bonjour Jérémy,


Le caractère accentué « é » ou « e accent aigu » correspond au code Unicode « U+E9 » et fait partie des caractères accentués de ma thématique « Caractères Alphabétique Accentué ».

le é ne fait pas partie de la table ascii cela doit être ton problème


Francois

Envoi D'un E-mail par GSM
satinas
Expert
Expert
Messages : 1239
Enregistré en : novembre 2015

#42 Message par satinas » ven. 27 janv. 2023 17:49

Bonjour,

Généralement le port 25 est bloqué par le FAI pour éviter qu'un ordinateur piraté envoie des pelletées de spams. Mais comme tu envoies ça au serveur SMTP de ton FAI Orange (je suppose), il laisse passer.

Pour les caractères accentués je n'ai pas investigué, je regarderai. Le mail à l'origine était envoyé en ASCII donc 128 caractères. Ensuite on a incorporé les jeux de caractères étendus, UTF-8, Unicode, HTML, etc. Je sais pas si avec ce module on peut le faire.

Tu peux joindre un fichier au mail avec la commande AT+SMTPFILE, je ne l'ai pas testée non plus.
https://www.eagle-robotics.com/blog/15- ... -et-sim900

Envoi D'un E-mail par GSM
satinas
Expert
Expert
Messages : 1239
Enregistré en : novembre 2015

#43 Message par satinas » ven. 27 janv. 2023 18:39

Regarde dans la doc la commande AT+SMTPCS -> Set the Email Charset

Envoi D'un E-mail par GSM
Jérémy
Administrateur du site
Administrateur du site
Messages : 2731
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#44 Message par Jérémy » ven. 27 janv. 2023 18:53

satinas a écrit :Source du message Regarde dans la doc la commande AT+SMTPCS -> Set the Email Charset

Ah oui ... celui la je l'ai loupé !

je pense que la solution se trouve ici merci pour cette piste . Je fais des tests dés que j'ai finis de me bagarrer avec la création de mon coprs de message et mes strcat !!!
mon buffer déborde !!! lol.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Envoi D'un E-mail par GSM
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2652
Enregistré en : juillet 2016
Localisation : Terre

#45 Message par Temps-x » ven. 27 janv. 2023 20:13

Bonsoir Jérémy, satinas, francois77, et tout le forum,

Avec quoi tu affiches le message que tu reçois ?

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Envoi D'un E-mail par GSM
Jérémy
Administrateur du site
Administrateur du site
Messages : 2731
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#46 Message par Jérémy » ven. 27 janv. 2023 21:17

Salut Temps-x,

Le message est un mail , je l'avais classiquement avec une boite mail.
Un debug avec mon terminal je peux l'afficher comme je veux en ansi, ascii hex ...

tout est une hsitoire de conversions et de compatibilité
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Envoi D'un E-mail par GSM
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2652
Enregistré en : juillet 2016
Localisation : Terre

#47 Message par Temps-x » sam. 28 janv. 2023 02:05

Bonjour Jérémy, et tout le forum,

:roll: Hum... à une époque où le système d'exploitation était Dos on a instauré un système permettant de charger différent type de caractère clavier en 8 bits (255 caractères)

Les caractères était chargé au démarrage du système d'exploitation, et on paramétré le code clavier dans un fichier nommé Config.sys et Autoexect.bat

Mais à l'arrivé de Windows, tout à était supprimé, car maintenant il suffit de changer un type de police, pour avoir un code clavier différent.

Il est fort probable que ton Module GSM SIM800L soit en code ASCII de Dos, voici en image tous les codes de Dos


Code ASCII de Dos en français :-D

Code Ascii.png


Pour remédier à ton problème, 2 solutions possibles, soit tu changes ta police dans le logiciel de réception avec une compatibilité de ton module, soit tu contrôles et change si nécessaire le code du caractère que tu envoies pour le rendre compatible pour ton logiciel de réception.

Ce qui implique de faire un tableau ou tu stockeras les caractères qui ne sont pas compatible pour être changé par d'autre.

Si tu veux faire une petite expérience, et pour voir si le é (code 130 sous dos) est bien pris en compte

Tu appuis sur la touche : Alt puis, toujours sans relâché la touche Alt tu composes le numéros 130 avec les touches de droit de ton clavier, puis tu relâches la touches Alt, tu devrais voir apparaître le é

Il est possible que cela fonctionne, mais que le code soit différent, pour être sur regarde avec un éditeur hexadécimal.

Pour un é tu dois avoir en hexadécimal le numéro 82


oops Pas facile à expliquer tout ça.

==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Envoi D'un E-mail par GSM
Jérémy
Administrateur du site
Administrateur du site
Messages : 2731
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#48 Message par Jérémy » dim. 29 janv. 2023 00:11

Re,

Je viens de tester la fonction AT+SMTPCS="UTF-8"
Alors c'était laborieus mais j'ai réussi a afficher les accents.

Cependant c'est une vrai chemin de croix.

Par exemple le "é" en UTF-8 c'est 0xC3A9 contrairement à l'ACSII avancé qui 0xE9
Du coup je devrais transformer une chaine de caractrere en Hexa UTF-8 sur 2 octets.

Bref je laisse tomber les accents !

Concernant le module SIM800L , c'est vraiment pas mal du tout.

C'est plutôt galère à s'assurer d'un bon envoi car il faut lire et interpréter les réponses au questions qu'on lui pose.
Si on se contente d’écrire les lignes brut, ca peut fonctionner avec un peu de chance, mais souvent ca peut louper !

Du coup pour traiter les réponses mon interruptions uart devient uen vrai usine a gaz, mais ca fonctionne
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Envoi D'un E-mail par GSM
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2652
Enregistré en : juillet 2016
Localisation : Terre

#49 Message par Temps-x » dim. 29 janv. 2023 01:02

Bonjour tout le forum,

Jérémy a écrit :Source du message Du coup je devrais transformer une chaine de caractrere en Hexa UTF-8 sur 2 octets

oops 16 bits, c'est bizare...surement une police Windows à connaître.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Envoi D'un E-mail par GSM
satinas
Expert
Expert
Messages : 1239
Enregistré en : novembre 2015

#50 Message par satinas » dim. 29 janv. 2023 02:50

Bonsoir/Bonjour,

Les textes étaient stockés au départ en encodage US-ASCII 7 bits sur 128 caractères, un seul octet par caractère. Puis on a créé les encodages 8 bits étendus divers et variés sur 256 caractères, toujours un seul octet.
Le DOS français utilisait l'encodage 8 bits IBM 850.
Windows utilise par défaut l'ISO-1252-1 dérivé de l'ISO-8859-1 (à tester avec AT+SMTPCS ?), mais il utilise aussi l'Unicode.

L'Unicode est un format multi-langue universel, qui peut permettre d'identifier de façon unique tous les caractères utilisés sur la planète, en attendant ceux des martiens. Pour stocker le texte l'Unicode utilise divers encodages UTF-8, UTF-16, UTF-32.
L'UTF-8 est concis car il stocke un caractère sur 1 à 4 octets. Il recouvre l'US-ASCII 7 bits sur 1 seul octet, mais à partir de 128 on passe à 2 octets ou plus, le bit 7 à 1 indiquant qu'il y aura plusieurs octets.

Pour passer un texte Windows vers un stockage UTF-8, je fais avec le logiciel Notepad++ -> menu Encoding/Convert To UTF-8 puis puis File/Save

Rappel pour enlever les codes 9 de tabulation d'un fichier texte provoquant des décalages sur le site, car les largeurs de tabulation diffèrent, toujours avec Notepad++ -> menu Edit/Blank Operations/TAB To Space puis File/Save

L'idéal serait de travailler directement en UTF-8, c'est ce que fait Qt dans ses dernières versions. Avec MPLABX on peut sélectionner UTF-8 lors de la création d'un projet.
C'est à la mode, j'ai demandé à ChatGPT :

"Conversion chaîne ISO-1252 vers UTF-8 en langage C ?".
Il parle d'une bibliothèque iconv qui n'a pas l'air d'exister dans MikroC et xc8.

"Conversion chaîne ISO-1252 vers UTF-8 en langage MikroC ?"

Code : Tout sélectionner

char str[] = "Chaîne encodée en ISO-1252";
char utf8_str[100];
UTF8_Encode(utf8_str, str);
printf("%s", utf8_str);

"Conversion chaîne ISO-1252 vers UTF-8 en langage xc8 ?"

Code : Tout sélectionner

char str[] = "Chaîne encodée en ISO-1252";
char utf8_str[100];
__builtin_convert_encoding(utf8_str, str, _ENC_ISO_8859_1, _ENC_UTF8);
printf("%s", utf8_str);

"ChatGPT Jan 9 Version. Free Research Preview", qui vous souhaite un bon dimanche, plus besoin de se casser la tête, enfin si cela marche :)


Retourner vers « Généralités sur les PICs »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités