Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Spécifie le jeu de caractères d’exécution utilisé pour les littéraux de chaîne et de caractères. Cette directive n’est pas nécessaire pour les littéraux marqués avec le u8 préfixe.
Syntaxe
#pragma execution_character_set(«target»)
Paramètres
target
Spécifie le jeu de caractères d’exécution cible. Actuellement, le seul jeu d’exécution cible pris en charge est "utf-8".
Notes
Cette directive du compilateur est obsolète dans Visual Studio 2015 Update 2 et versions ultérieures. Nous vous recommandons d’utiliser les options ou /execution-charset:utf-8 de /utf-8 compilateur avec le préfixe sur les u8 littéraux de chaîne et de caractères étroits qui contiennent des caractères étendus. Pour plus d’informations sur le u8 préfixe, consultez Littéraux de chaîne et de caractères. Pour plus d’informations sur les options du compilateur, consultez /execution-charset et /utf-8.
La #pragma execution_character_set("utf-8") directive indique au compilateur d’encoder des littéraux de chaîne étroits et étroits dans votre code source sous la forme UTF-8 dans l’exécutable. Cet encodage de sortie est indépendant de la façon dont le fichier source est encodé.
Par défaut, lorsque le compilateur encode des caractères étroits et des chaînes étroites, il utilise la page de codes actuelle comme jeu de caractères d’exécution. Les caractères Unicode ou DBCS en dehors de la plage de la page de codes actuelle sont convertis en caractère de remplacement par défaut dans la sortie. Les caractères Unicode et DBCS sont tronqués à leur octet de bas ordre, ce qui n’est presque jamais ce que vous avez l’intention. Pour spécifier l’encodage UTF-8 pour les littéraux dans le fichier source, utilisez un u8 préfixe. Le compilateur transmet ces chaînes encodées UTF-8 à la sortie inchangée. Les littéraux de caractères étroits préfixés u8 par doivent tenir dans un octet, ou ils sont tronqués en sortie.
Par défaut, Visual Studio utilise la page de codes actuelle comme jeu de caractères source utilisé pour interpréter votre code source pour la sortie. Lorsqu’un fichier est lu, Visual Studio l’interprète en fonction de la page de codes actuelle, sauf si le fichier a un ensemble de pages de codes. Ou, sauf si une marque d’ordre d’octet (BOM) ou UTF-16 caractères est détectée au début du fichier. Vous ne pouvez pas définir UTF-8 comme page de codes actuelle dans certaines versions de Windows. Lorsque la détection automatique recherche des fichiers sources encodés UTF-8 sans boM dans ces versions, Visual Studio suppose qu’ils sont encodés dans la page de codes actuelle. Les caractères du fichier source qui se trouvent en dehors de la plage de la page de codes spécifiée ou détectée automatiquement peuvent provoquer des avertissements et des erreurs du compilateur.
Voir aussi
directives Pragma et les mots clés __pragma et _Pragma
/execution-charset (Définir le jeu de caractères d’exécution)
/utf-8 (Définir les jeux de caractères source et d’exécution sur UTF-8)