Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Especifica o conjunto de caracteres de execução usado para literais de cadeia de caracteres e caracteres. Essa diretiva não é necessária para literais marcados com o prefixo u8.
Sintaxe
#pragma execution_character_set("target")
Parâmetros
target
Especifica o conjunto de caracteres de execução de destino. Atualmente, o único conjunto de execução de destino com suporte é "utf-8".
Comentários
Essa diretiva do compilador está obsoleta no Visual Studio 2015 Atualização 2 e versões posteriores. Recomendamos que você use as opções do compilador /execution-charset:utf-8 ou /utf-8 junto com o prefixo u8 em literais de caracteres estreitos e de cadeia de caracteres que contêm caracteres estendidos. Para obter mais informações sobre o prefixo u8, consulte Cadeia de caracteres e literais de caracteres. Para obter mais informações sobre as opções do compilador, consulte /execution-charset (Definir conjunto de caracteres de execução) e /utf-8 (Definir conjuntos de caracteres de origem e execução como UTF-8).
A diretiva #pragma execution_character_set("utf-8") informa ao compilador para codificar literais de caracteres e de cadeia de caracteres estreitos no código-fonte como UTF-8 no executável. Essa codificação de saída é independente de como o arquivo de origem é codificado.
Por padrão, quando o compilador codifica caracteres estreitos e cadeias de caracteres estreitas, ele usa a página de código atual como o conjunto de caracteres de execução. Caracteres Unicode ou DBCS fora do intervalo da página de código atual são convertidos no caractere de substituição padrão na saída. Os caracteres Unicode e DBCS são truncados para seu byte de baixa ordem, que quase nunca é o que você pretende. Para especificar a codificação UTF-8 para literais no arquivo de origem, use um prefixo u8. O compilador passa essas cadeias de caracteres codificadas UTF-8 para a saída inalterada. Literais de caractere estreito prefixados por u8 devem caber em um byte ou ficam truncados na saída.
Por padrão, o Visual Studio usa a página de código atual como o conjunto de caracteres de origem usado para interpretar o código-fonte para saída. Quando um arquivo é lido, o Visual Studio o interpreta de acordo com a página de código atual, a menos que o arquivo tenha um conjunto de páginas de código. Ou, a menos que uma marca de ordem de byte (BOM) ou caracteres UTF-16 sejam detectados no início do arquivo. Você não pode definir UTF-8 como a página de código atual em algumas versões do Windows. Quando a detecção automática encontra arquivos de origem codificados em UTF-8 sem um BOM nessas versões, o Visual Studio pressupõe que eles estão codificados na página de código atual. Caracteres no arquivo de origem que estão fora do intervalo da página de código especificada ou detectada automaticamente podem causar erros e avisos do compilador.
Confira também
diretivas Pragma e as palavras-chave __pragma e _Pragma
/execution-charset (Definir conjunto de caracteres de execução)
/utf-8 (definir conjunto de caracteres de origem e execução como UTF-8)