Maison > développement back-end > C++ > Comment puis-je afficher correctement les caractères Unicode dans la console Windows à l'aide de C ?

Comment puis-je afficher correctement les caractères Unicode dans la console Windows à l'aide de C ?

Susan Sarandon
Libérer: 2024-12-01 19:29:11
original
535 Les gens l'ont consulté

How Can I Display Unicode Characters Correctly in the Windows Console Using C  ?

Comment afficher les caractères Unicode dans la console Windows à l'aide de C

Résumé du problème

Lors de la tentative de sortie de caractères Unicode sur la console Windows à l'aide de cout en C , des caractères étranges sont affichés à la place. Pourquoi cela se produit-il et est-il possible d'afficher correctement les caractères Unicode ?

Solution

Le problème vient du comportement par défaut de la console Windows, qui ne gère pas les sorties Unicode. Pour résoudre ce problème, le flux de sortie en caractères larges std::wcout peut être utilisé à la place de cout.

#include <iostream>

int main() {
    std::wcout << L"Hello World!" << std::endl;
    return 0;
}
Copier après la connexion

Cependant, même avec std::wcout, la console peut toujours ne pas gérer les sorties Unicode. Pour résoudre ce problème, la console peut être configurée manuellement.

Options de configuration manuelle

Pour configurer manuellement la console :

  • Exécutez cmd avec le /u argument : Cela active la prise en charge d'Unicode lors du démarrage de l'invite de commande.
  • Appelez chcp 65001 : Cela modifie le format de sortie pour prendre en charge Unicode.
  • Définissez une police Unicode dans la console : Les polices comme Lucida Console Unicode offrent une meilleure prise en charge des caractères Unicode.

Solution alternative

Une autre solution consiste à utiliser _setmode(_fileno(stdout), _O_U16TEXT);. Cette fonction nécessite l'inclusion de fcntl.h et io.h et permet au flux de sortie de gérer les caractères Unicode.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal