Formations à l'informatique et à l'électronique

Auteur : SD
Créé le : 13-09-2019

Qt - Afficher les caractères accentués en mode console

Par défaut les applications en mode console n'affichent pas correctement les caractères accentués et plus généralement tous les caractères spéciaux (ceux dont le code ASCII est > 127).

Qt Problème Affichage Accents Console

Solution 1

Windows utilise un codage différent de celui de Qt.

L'idée est de simplement remplacer les caractères spéciaux par leur valeur correspondante dans Windows.

Exemple :

Qt Accents Console Solution 1

Cette solution est assez lourde, elle est utilisable lorqu'il y a peu de caractères spéciaux à convertir.

La liste des codes à utiliser est disponible ici : https://fr.wikipedia.org/wiki/Page_de_code_850

Solution 2

Demander à Windows d'utiliser un autre codage. Pour cela, Microsoft met à notre disposition des outils, en particulier la fonction : SetConsoleOutputCP

Exemple :

Qt Accents Console Solution 2

ATTENTION : Cette solution fonctionne avec Windows 10 mais pas avec Windows 7.

Code source de cette solution sur github.

Comment connaitre la page de code utilisée par votre ordinateur ?

Dans la base de registre, accéder à : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage.

La page de code est inscrite dans la clé OEMCP :

regedit code page

Articles connexes

Articles sur Qt


Vous avez apprécié cet article ? Partagez le !

Article connexe : Qt - Afficher la date et l'heure système