Para obter uma versão deste artigo do Microsoft Visual Studio 2008, consulte 980263.
Sintomas
Considere o seguinte cenário:
-
Criar um projeto Visual C++ no Microsoft Visual Studio 2010.
-
Um arquivo no projeto inicializa literais de cadeia de caracteres estreita. Esses literais de cadeia de caracteres contém caracteres asiáticos e não são prefixados com a letra "l".
-
O arquivo foi salvo usando a codificação UTF-8.
Nesse cenário, quando você compilar o projeto, os literais de sequência de caracteres são mal interpretados pelo compilador. Além disso, você encontrar um dos seguintes problemas:
-
Quando o arquivo contiver uma marca de ordem de byte (BOM), a operação de compilação for bem-sucedida. No entanto, os literais de cadeia de caracteres ainda são exibidos incorretamente no aplicativo gerado. Além disso, você pode receber a seguinte mensagem de aviso quando você compilar o projeto:
Aviso C4566: Caractere representado pelo universal--nome do caractere 'xx' não pode ser representado na página de código atual.
-
A operação de compilação falhará. Além disso, você pode receber a seguinte mensagem de erro quando você compilar o projeto:
Erro C2078: Inicializadores de excesso
-
A operação de compilação falhará. Além disso, você pode receber a seguinte mensagem de aviso quando você compilar o projeto:
Aviso C4129: 'character': não reconhecido a sequência de escape de caractere.
Causa
Esse problema ocorre porque o compilador pressupõe que os literais no arquivo podem ser interpretados como o byte inicial de MBCS codificação em vez de como um byte Unicode. Devido a esse problema, o compilador traduz incorretamente no arquivo.
Resolução
Para resolver esse problema, aplique esse hotfix no computador em que você compilar o projeto. Em seguida, salve o arquivo com uma marca de ordem de byte e, em seguida, adicione a seguinte diretiva de "pragma" antes dos literais de cadeia de caracteres no arquivo de origem:
#pragma execution_character_set("utf-8")
Observação Essa diretiva "pragma" define a unidade de conversão para o arquivo de origem até que esta diretiva "pragma" é substituída por outra diretiva "pragma".
Para obter mais informações sobre esse hotfix
Informações sobre o hotfix
Um hotfix suportado está disponível agora na Microsoft. No entanto, destina-se a corrigir somente o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correção poderá ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde o próximo que contém esse hotfix. Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter o hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e informações sobre custos de suporte, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportObservação Em alguns casos, as taxas cobradas pelas ligações para o suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de suporte em geral aplicam-se a questões e problemas de suporte adicionais que não se enquadrem na atualização específica em questão.
Pré-requisitos
Você deve ter o Microsoft Visual Studio 2010 instalado para aplicar esse hotfix.
Informações de reinicialização
Você não precisa reiniciar o computador após aplicar esse hotfix.
Informações do arquivo
A versão em inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas em UTC (Tempo Universal Coordenado). Quando você exibe as informações sobre os arquivos, elas são convertidas no horário local. Para saber a diferença entre a hora UTC e a hora local, use a guia Fuso Horário no item Data e Hora do Painel de Controle.
Nome do arquivo |
Versão do arquivo |
Tamanho do arquivo |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
C1.dll |
16.0.30319.351 |
658,240 |
23-Aug-2010 |
06:45 |
x86 |
C1.dll |
16.0.30319.351 |
723,776 |
23-Aug-2010 |
06:45 |
x86 |
C1.dll |
16.0.30319.351 |
899,400 |
23-Aug-2010 |
06:45 |
x86 |
C1xx.dll |
16.0.30319.351 |
2,286,920 |
23-Aug-2010 |
06:45 |
x86 |
C1xx.dll |
16.0.30319.351 |
2,428,232 |
23-Aug-2010 |
06:45 |
x86 |
C1xx.dll |
16.0.30319.351 |
2,659,664 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
201,032 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
202,568 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
219,976 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
221,000 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
290,632 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
291,656 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
292,680 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
293,704 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
408,392 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
408,904 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
450,376 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
460,104 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
460,616 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
478,024 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
478,536 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
483,656 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
484,168 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
486,728 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
487,240 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
491,848 |
23-Aug-2010 |
06:45 |
x86 |
Clui.dll |
16.0.30319.351 |
492,360 |
23-Aug-2010 |
06:45 |
x86 |
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".