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

C Discussion :

Problème de conversion unicode


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 53
    Points : 47
    Points
    47
    Par défaut Problème de conversion unicode
    Hello,

    En gros j'ai une application client en C qui envoi des messages à un serveur (jabber pour ceux qui connaisse mais ç'est pas là l'important).

    Quand le client envoi au serveur des caractères classique du style a,b,0 etc... pas de problème je reçois bien la même chose de l'autre côté, mais par contre quand j'envois des caractères spéciaux du style à ou µ ces caractères sont remplacé par des codes du genre \340

    En faisant quelques recherche j'ai pu constater que ces codes correspondaient au codes Unicode (en octal) de ces caractères spéciaux.
    (Par ex 340 correspond au code du caractère à).

    J'ai donc fait pas mal de recherche sur Unicode, j'en ai conclu que je devais envoyer mes messages encodés en UTF-8.

    Comment faire-cela, j'ai beau chercher je suis perdu

    Par exemple si je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char * chaine  = "à";
    ...
    send(socket, chaine, longueur, 0);
    Le serveur recevra:
    "\340" et non "à";

    Merci d'avance pour votre aide


    PS : Mon application client est compilée et tourne sous OS Linux.

  2. #2
    Membre expérimenté Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Points : 1 359
    Points
    1 359
    Par défaut
    Salut,

    Utilises-tu des bibliothèques particulières?
    Je sais qu'on peut le faire avec GTK+, par contre j'ai pas la fonction en tête
    Tu devrais la trouver facilement sur gtk.org ou gtkfr.

  3. #3
    Membre expérimenté Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Points : 1 359
    Points
    1 359
    Par défaut
    Trouvé sur un autre site.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gchar* g_locale_to_utf8(const gchar *opsysstring, gsize len, gsize *bytes_read, gsize *bytes_written, GError **error);

  4. #4
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 53
    Points : 47
    Points
    47
    Par défaut
    Ok merci , je vais éssayer ça dès que je peux.

  5. #5
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Points : 638
    Points
    638
    Par défaut
    l'unicode est, il me semble, une représentation du caractère sur 16
    bits au lieu de 8 habituellement

    votre caractère "à" (340 en octal, donc 224 en décimal) est tout simple
    ment un code ANSI (Windows) donc 8 bits

  6. #6
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 53
    Points : 47
    Points
    47
    Par défaut
    Merci,

    un ami m'a finalement aidé à écrire une fonction permettant de faire la conversion UTF8.

    Sinon en effet \340 venait d'un test sous windows via telnet

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

Discussions similaires

  1. problème de conversion de dimension dans BUSINESS OBJECT
    Par greatmaster1971 dans le forum Deski
    Réponses: 4
    Dernier message: 28/04/2014, 13h15
  2. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 14h31
  3. Problème de conversion 3DS->.X
    Par JBernn dans le forum DirectX
    Réponses: 5
    Dernier message: 08/04/2004, 19h08
  4. Réponses: 11
    Dernier message: 02/09/2003, 14h20
  5. conversion Unicode -> ASCII
    Par juzam dans le forum C
    Réponses: 8
    Dernier message: 24/07/2003, 10h07

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