Windows et accents
Répondre à la discussion
Affichage des résultats 1 à 18 sur 18

Windows et accents



  1. #1
    Médiat

    Windows et accents


    ------

    Bonjour,

    Je reprends un vieux programme dans lequel il y avait
    Code:
     sprintf_s(str, "Lignes tracées : %d   Coups possibles :%d", m_iOrdre, iNombre);
     CMainFrame *pFrame = (CMainFrame *)AfxGetApp()->m_pMainWnd;
     CStatusBar *pStatus = &pFrame->m_wndStatusBar;
     pStatus->SetPaneText(0, str);
    qui fonctionnait très bien , mais qui ne passe plus la compilation à cause de la dernière ligne (str est un cha *)

    j'en suis arrivé à
    Code:
    	str.Format(L"Lignes tracées : %d   Coups possibles :%d ", m_iOrdre, iNombre);
    	CMainFrame *pFrame = (CMainFrame *)AfxGetApp()->m_pMainWnd;
    	CStatusBar *pStatus = &pFrame->m_wndStatusBar;
    	pStatus->SetPaneText(0, str);
    où str est une CString, cela fonctionne mais à la place du é j'obtiens é

    Comment régler ce problème simplement (- de 10 à corriger), dans le pire des cas je trouve une périphrase sans accent

    Merci d'avance

    -----
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  2. #2
    umfred

    Re : Windows et accents

    Essai
    Code:
    	str.Format(u8"Lignes tracées : %d   Coups possibles :%d ", m_iOrdre, iNombre);

  3. #3
    Médiat

    Re : Windows et accents

    Merci, malheureusement cela ne marche pas, j'obtiens un texte en kanji
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  4. #4
    umfred

    Re : Windows et accents

    Au fait, tu n'as pas précisé quel système d'exploitation et quel compilateur ? (si tu reprends le compilateur de l'époque, ça devrait fonctionner avec le code de départ)

  5. A voir en vidéo sur Futura
  6. #5
    Médiat

    Re : Windows et accents

    Aujourd'hui j'utilise Visual Studio 2017 sous windows 10, l'ancien compilateur devait être visual studio 5 (que je n'ai plus, et je ne voudrais pas être obligé de garder toutes les versions du compilo)
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  7. #6
    umfred

    Re : Windows et accents

    rajoute la fonction setlocale avec le code d'origine (sans oublier d'ajouter #include<locale>
    Code:
    setlocale(LC_NUMERIC,"fr-FR")
    cf page d'aide 1 et 2

  8. #7
    Médiat

    Re : Windows et accents

    Merci encore, mais cela ne change rien, même avec LC_ALL à la place de LC_NUMERIC
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  9. #8
    umfred

    Re : Windows et accents

    regarde ce post qui propose d'autres options (getconsoleoutputcp/setconsoleoutputcp ou chartooembuff)

  10. #9
    Ikhar84
    Animateur Informatique

    Re : Windows et accents

    Salut,

    Tu as regardé du côté de MultiByteToWideChar ?

    Avec un exemple de conversions utf8, unicode, ansi string ici, sur Git.
    J'ai glissé Chef !

  11. #10
    Médiat

    Re : Windows et accents

    Merci à tous les deux,

    SetConsoleOutput; c'est pour la console, pas les fenêtres et MultiByteToWideChar ne fonctionne pas avec MFC

    C'est quand même grave qu'un truc aussi naturel que les accents quand on est en France puisse poser autant de problème, honte à Microsoft !

    A tut hasard, je suis près à rentrer des codes à la main si c'est nécessaire


    Encore merci à vous deux
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  12. #11
    Ikhar84
    Animateur Informatique

    Re : Windows et accents

    Et les méthodes OemToAnsi() et AnsiToOem() de CString ?
    J'ai glissé Chef !

  13. #12
    Médiat

    Re : Windows et accents

    Encore merci mais non, ces fonctions cause un "Assertion failed"
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  14. #13
    umfred

    Re : Windows et accents

    est-ce que tu as essayé avec setlocale(LC_ALL,"") ou encore setlocale( LC_ALL, ".1252" ) (avant le str.format ou le sprintf_s)?

  15. #14
    polo974

    Re : Windows et accents

    le pb est que tu as saisi en utf-8 et que ça compile en ISO-8859-1 (ou un de ses petits frères)

    https://docs.microsoft.com/fr-fr/cpp...8?view=vs-2017
    Jusqu'ici tout va bien...

  16. #15
    Médiat

    Re : Windows et accents

    Merci polo974 et , en ajoutant /utf-8 dans la ligne de commande, cela marche.

    Si ce n'est pas abuser, avec cet ajout j'ai des warning :

    resource.h : warning C4828: Le fichier contient un caractère qui débute à l'offset 0x4a et qui est non conforme dans le jeu de caractères source actuel (page de codes 65001).


    resource.h étant un fichier généré par VS




    Merci umfred
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  17. #16
    Médiat

    Re : Windows et accents

    Ce dernier problème est dû à un accent dans un commentaire de resource.h, je l'ai viré et bien que pas complètement satisfaisant, le problème est résolu.

    Merci à ceux qui m'ont aidé
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  18. #17
    polo974

    Re : Windows et accents

    Le resource.h est un fichier intermédiaire généré, il faut peut-être juste le supprimer (le sauvegarder des fois que...) pour que ça le re-mouline avec l'option /utf8 dans un nouveau resource.h pour faire disparaître ce warning.

    Si ça revient, c'est carrément dans le resource.rc (ou sont petit frère) qu'il faut faire un tour (éditeur de ressources (le design graphique) pour que tout soit enregistré en utf8.

    (Ou bien, c'est un petit bug...)
    Jusqu'ici tout va bien...

  19. #18
    Médiat

    Re : Windows et accents

    OK, je vais tenter de surveiller ça

    Merci
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

Discussions similaires

  1. Probleme avec les e accents
    Par invitea6063923 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 0
    Dernier message: 04/03/2013, 22h09
  2. Win-Linux et accents
    Par inviteaeeb6d8b dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 15/06/2009, 17h04
  3. Les accents n'apparaissent plus...
    Par BioBen dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 11/08/2006, 22h16
  4. Accents circonflexe partis !!!
    Par invite653ac11c dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 07/11/2003, 16h44