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

Bibliothèque standard C Discussion :

ISO 8859-1 et Dev-Cpp (unsigned char, wprintf ??)


Sujet :

Bibliothèque standard C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Par défaut ISO 8859-1 et Dev-Cpp (unsigned char, wprintf ??)
    Bonjour à tous.

    Je développe actuellement en C sous Dev-Cpp.

    Depuis toujours, le problème du manque d'accent sous la console ne m'avait pas dérangé.

    Or, je suis contraint aujourd'hui de travailler avec l'encodage ISO 8859-1.

    L'ennui, c'est que je ne sais absolument pas comment faire...

    En gros, j'aimerais savoir comment utiliser l'encodage ISO 8859-1 dans un programme C avec Dev-Cpp.


    J'ai entendu parler de certains et d'une famille de fonction wprintf... Mais j'avoue franchement que je ne comprend pas exactement ce que fait cette fameuse fonction, et encore moins comment on l'utilise.

    Si vous pouviez m'éclairer...

    Merci d'avance!

  2. #2
    Membre confirmé Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Par défaut
    Si ça ne vous parait pas clair, dites-le

  3. #3
    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 Rappunzell Voir le message
    Je développe actuellement en C sous Dev-Cpp.

    Depuis toujours, le problème du manque d'accent sous la console ne m'avait pas dérangé.

    Or, je suis contraint aujourd'hui de travailler avec l'encodage ISO 8859-1.

    L'ennui, c'est que je ne sais absolument pas comment faire...
    Rien. Ton système est déjà probablement en ISO 8859-1 (Latin-1) si il est configuré en français ou en anglais... Les caractères que tu tapes dans l'éditeur sont codés en ISO 8859-1, dit 'ANSI', et c'est précisément ce qui fait que, sous Windows, leur interprétation dans la console (qui attend par défaut du codage 'MS-DOS' IBM-PC8 dit 'OEM') affiche ces caractères avec le mauvais glyphe.

    Pour corriger ça, il faut changer la page code du mode console. Ca se fait avec une commande 'cp' (help cp pour les détails : 'Code Page').

    Rien de tout ça n'a à voir avec le langage C.

  4. #4
    Membre confirmé Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Rien. Ton système est déjà probablement en ISO 8859-1 (Latin-1) si il est configuré en français ou en anglais... Les caractères que tu tapes dans l'éditeur sont codés en ISO 8859-1, dit 'ANSI', et c'est précisément ce qui fait que, sous Windows, leur interprétation dans la console (qui attend par défaut du codage 'MS-DOS' IBM-PC8 dit 'OEM') affiche ces caractères avec le mauvais glyphe.

    Pour corriger ça, il faut changer la page code du mode console. Ca se fait avec une commande 'cp' (help cp pour les détails : 'Code Page').

    Rien de tout ça n'a à voir avec le langage C.
    Merci beaucoup.

    Mais, pourrais-tu, s'il te plait, donner plus de détails sur la façon de s'y prendre pour "changer la page code du mode console". Car quand je tape "help cp" dans la console, j'obtiens ceci:

    Citation Envoyé par Console C:\Windows\System32\command.com
    Cette commande n'est pas prise en charge par l'utilitaire d'aide.
    Essayer "x /?".
    Et en tapant CP tout seul, apparement la commande n'est pas reconnue.

    Je précise que je suis sous Windows XP ed. Familiale (C'est un PC portable...)

  5. #5
    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 Rappunzell Voir le message
    Et en tapant CP tout seul, apparement la commande n'est pas reconnue.

    Je précise que je suis sous Windows XP ed. Familiale (C'est un PC portable...)
    Oui, désolé, c'est une fonction de la commande mode.

    mode con cp select=xxx

    Il faut faire help mode. En fait, ça ne suffit pas. Il faut trouver quel est le code de page à appliquer... Google est ton ami...

    ... Je dirais 1252...

  6. #6
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <windows.h>
    UINT backup = GetConsoleOutputCP();
    SetConsoleOutputCP(1252);
     
    /* ton programme */
     
    SetConsoleOutputCP(backup);

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Attention, en général Windows n'est pas exactement en ISO-8859-1 mais en Windows-1252 (Page de codes 1252), qui possède de légères différences (notamment le symbole Euro).

    Si tu veux vraiment utiliser de l'ISO-8859-1, tu dois choisir la page de codes 28591.
    (source: page Code Page Identifiers sur MSDN)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [dev-cpp] probleme de link
    Par alex1er dans le forum Dev-C++
    Réponses: 5
    Dernier message: 20/01/2005, 17h41
  2. Convertir une chaine UTF8 en ISO-8859-1
    Par eods dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 26/08/2004, 16h57
  3. Mysql++ et dev-cpp..
    Par MrPomme dans le forum Windows
    Réponses: 4
    Dernier message: 03/08/2004, 14h50
  4. compilation directx dev-cpp
    Par gaut dans le forum DirectX
    Réponses: 3
    Dernier message: 11/02/2004, 04h16
  5. creation DLL dev-cpp
    Par gaut dans le forum Dev-C++
    Réponses: 4
    Dernier message: 29/01/2004, 18h15

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