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