IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

envoi d'un carractère accentué


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 42
    Par défaut envoi d'un carractère accentué
    Bonjour,

    Les carractères accentués que j'envoie par un write dans la socket passe apparement mal.
    J'ai fait un Dump avec wireshark et pour la chaine "ici é", j'obtiens 69 63 69 20 c3.

    J'ai écris un mail avec la même chaine dans le corps et j'obtiens 69 63 69 20 e9, ce qui correspond à la valeur hexa de 'é' en iso-8859-1.

    Pourquoi il envoi mal mon carractère ?

    Je fais ce code ci classique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    snprintf(buff, sizeof(buff),"ici é\n");
    write(sockfd,buff,strlen(buff));
    Merci

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Z-fly Voir le message
    Les carractères accentués que j'envoie par un write dans la socket passe apparement mal.
    J'ai fait un Dump avec wireshark et pour la chaine "ici é", j'obtiens 69 63 69 20 c3.

    J'ai écris un mail avec la même chaine dans le corps et j'obtiens 69 63 69 20 e9, ce qui correspond à la valeur hexa de 'é' en iso-8859-1.
    Le problème, c'est qu'il y a plusieurs façons de coder les accentuées. C'est qu'on s'écarte du charset courant (ASCII : 00-7F), c'est la jungle...

    C3 pour 'é', je ne vois pas à quel charset ça correspond. Quel est ton système ? Quel est ton éditeur de texte ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 42
    Par défaut
    Non justement c'est 'e9' la valeur correcte que j'obtiens bien avec le dump du mail envoyé par thunderbird.
    J'ai fait un 'man iso-8859-1' pour verrifier.

    Ah mais comment on peut spécifier qu'on fait le write en iso-8859-1 et pas ascii?

    Thunderbird le fait apparement

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Tu édites ton source en utf-8 du coup l'encodage du caractère 'é' devient C3 A9, en clair le code est sur 2 octets (dans le cas de ce caractère). Passe ton éditeur en ascii étendu et ça ira mieux.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 42
    Par défaut
    Merci j'ai résolu le problème

    En fait je lisait déja mal mon dump, mon programme envoyait en fait 'c3 a0 20'.
    Vu que ce n'est pas la valeur du 'é' en ISO-8859-1, je me suis dit que c'était sans doute de l'UTF-8 , j'ai donc définit le charset comme tel et là magique il m'affiche bien mon accent

    Merci encore, compliqué cet histoire de charset, enfin bon apparement l'utf-8 va fédérer tout ça



+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi SMS lettres accentuées
    Par aminej76 dans le forum WinDev
    Réponses: 0
    Dernier message: 21/02/2014, 02h47
  2. [AJAX] Envoi de requêtes accentuées
    Par Seta-san dans le forum AJAX
    Réponses: 2
    Dernier message: 20/05/2011, 15h19
  3. [AJAX] Caractères accentué pour envoi de mail
    Par julieng31 dans le forum AJAX
    Réponses: 3
    Dernier message: 04/02/2010, 00h32
  4. [Socket]envoie de fichier!!!
    Par SamDaKap dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/11/2002, 08h07
  5. Envoi de Datagrames par IP en JAVA
    Par the java lover dans le forum Développement
    Réponses: 2
    Dernier message: 14/08/2002, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo