J'ai bien précisé que peu de polices comportent un jeu de caractères très vaste. Ton bout de code ne peut fonctionner : Run crée un process séparé alors que tu écris dans la console de ton application.
Pour que tout ce petit monde fonctionne, il faut que :
o) la page de code 65001 (UTF-8) soit choisie par défaut pour la console (je ne sais plus de tête, là, comment faire ça),
EDIT: si, en fait, on créé dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor une valeur chaîne : Autorun et on y met chcp 65001
L'inconvénient est que c'est un réglage global qui peut ne pas convenir dans tous les cas. Il existe une alternative (voir ci-dessous).
o) ton application soit en mode console (CUI et non GUI),
#AutoIt3Wrapper_Change2CUI=Y ;(Y/N) Change output program to CUI in stead of GUI. Default=N
o) ton application soit compilée,
o) tu choisisses et installes une police TrueType (OpenType ne fonctionne pas avec la console) à chasse fixe et qui comporte les plages souhaitées du jeu de caractères Unicode,
o) cette police soit
enregistrée comme utilisable par la console
o) qu'elle soit sélectionnée (clic droit dans le bandeau de cmd, Propriétés > Police > ta police) et que cmd.exe accepte ce choix.
Ainsi, cmd.exe refuse d'utiliser DejaVu Sans Mono, ce qui est bien dommage. <-- C'est faux : il suffit d'insister et la sélection s'enregistre.
Après tout ça, il est concevable (mais pas certain à 100% de mon point de vue) que ça fonctionne comme tu le souhaites.
EDIT: à cette nuance près que la console créée pour le mode CUI est "brute de fonderie" et ne prend pas en compte les réglages de cmd.exe. Heureusement il est possible de contourner ce problème à l'aide d'un simple fichier batch. Avec un tel .BAT on peut soit lancer l'appli CUI seule si la page de code est UTF-8 par défaut, soit changer la page de code dans le batch avant de lancer l'appli. J'ai testé les deux et les deux fonctionnent.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.