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 :

Bug C++/Windows ? Affichage accents en console.


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur géomaticien
    Inscrit en
    Juillet 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur géomaticien

    Informations forums :
    Inscription : Juillet 2015
    Messages : 34
    Points : 24
    Points
    24
    Par défaut Bug C++/Windows ? Affichage accents en console.
    Bonjour à tous,

    J'ai un problème assez perturbant et peu commun... Je cherche simplement à afficher de l'unicode à partir de wstring, en utilisant l'API Windows.
    Le script .cpp suivant est encodé en UTF8.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <windows.h>
    #include <iostream>
     
    int main(){
      SetConsoleCP(CP_UTF8);
      SetConsoleOutputCP(CP_UTF8);
     
      std::wcout << L"é" << std::endl; // le résultat serai avec wprintf(L"é");
    }
    Pas d'erreur de compilation. J'utilise GCC 5.1. L'exe s'appelle Test.exe.

    Je sais que pour visualiser les accents en console, il faut utiliser une police appropriée, comme Lucida Console

    Lorsque je lance le programme en console, il y a deux scenarii de figure en fonction des réglages de la police :

    -Si je règle la police après mon exe, tout en restant dans la même console, alors je vois les accents.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >rem Ici, je suis en police raster
    >Test.exe
    ù
    >rem Ici, je règle la police de la console en Lucida Console
    >rem mon ù précédent s'est transformé en é
    Ça me paraît logique.

    -Maintenant, si je règle la police sur Lucida Console avant de lancer mon exe, je ne vois pas les accents !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >rem Ici, je règle la police de la console en Lucida Console
    >Test.exe
    [ caractère rectangle blanc ]
    Des idées ?

    Jean

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    En fait, non seulement, il faut utiliser une police de caractères appropriée, mais, surtout, le code page de la console sous windows ne correspond (pour notre malheur) pas au code page qui est utilisé par MinGW.

    Normalement, un recherche sur les termes code-page et windows devrait te permettre de te dépatouiller

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur géomaticien
    Inscrit en
    Juillet 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur géomaticien

    Informations forums :
    Inscription : Juillet 2015
    Messages : 34
    Points : 24
    Points
    24
    Par défaut setlocal
    Merci koala01.

    Résolu en utilisant simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <windows.h>
    setlocale(LC_ALL,"")
    Jean

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

Discussions similaires

  1. Pas d'affichage dans la console sous Windows 7
    Par kimlee dans le forum Eclipse C & C++
    Réponses: 1
    Dernier message: 26/06/2014, 08h45
  2. [DW 8 & antérieurs] DW 8 et Windows 7 et PHP : pb affichage accents
    Par weabow dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 05/07/2010, 11h05
  3. accents dans console windows: c'est pas normal..
    Par zais_ethael dans le forum C++
    Réponses: 2
    Dernier message: 06/04/2008, 11h21
  4. [API Windows]Affichage en Gras
    Par Zazeglu dans le forum Windows
    Réponses: 12
    Dernier message: 05/02/2004, 19h17
  5. Problème a l'affichage dans la console (printf)
    Par PhoneKilleR dans le forum C
    Réponses: 21
    Dernier message: 23/09/2003, 17h21

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