Affichage de UTF-8 dans une application console Windows avec C
Cette question explore le défi de l'impression de caractères japonais codés en UTF-8 sur le console dans une application console C exécutée sous Windows à l'aide de cout ou wcout.
Solution
Pour imprimer correctement les caractères UTF-8, quelques étapes sont nécessaires :
-
Définir la sortie de la console Encodage : Utilisez SetConsoleOutputCP(65001); pour définir le codage de sortie de la console sur UTF-8.
-
Utilisez les fonctions compatibles Unicode : Imprimez les chaînes UTF-8 en utilisant printf() ou wprintf() au lieu de cout ou wcout.
-
Configurer l'encodage du fichier source : Enregistrez le fichier source sous "Unicode (UTF-8 avec signature) - Page de code 65001."
-
Définir le jeu de caractères dans les propriétés du projet : Dans les propriétés du projet, définissez "Jeu de caractères" sur "Utiliser le jeu de caractères Unicode."
-
Envisagez Police : Certains suggèrent d'utiliser la police "Lucida Console", mais "Consolas" ou d'autres polices peuvent fonctionner comme bien.
Exemple de code
#include <cstdio>
#include <windows.h>
#pragma execution_character_set( "utf-8" )
int main()
{
SetConsoleOutputCP( 65001 );
printf( "Testing unicode -- English -- Ελληνικά -- Español -- Русский. aäbcdefghijklmnoöpqrsßtuüvwxyz\n" );
}
Copier après la connexion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!