Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Síntomas

Imagine el siguiente escenario:

  • Crear un proyecto de Visual C++ en Microsoft Visual Studio 2008 Service Pack 1 (SP1).

  • Un archivo en el proyecto con literales de cadena de caracteres estrechos. Estos literales de cadena contienen caracteres asiáticos y no llevan el prefijo con la letra "l".

  • Los literales de cadena utilizan la codificación UTF-8.

En este escenario, cuando se compila el proyecto, los literales de cadena se interpretan incorrectamente por el compilador. Además, se encuentra con uno de los siguientes problemas:

  • La operación de compilación se realiza correctamente. Sin embargo, los literales de cadena se muestran incorrectamente en la aplicación generada. Además, también puede recibir los siguientes mensajes de advertencia cuando se compila el proyecto:

    Advertencia C4566: no se puede representar el carácter representado por el nombre de carácter universal 'xx' en la página de códigos actual.

  • Se produce un error en la operación de compilación. Además, puede recibir el siguiente mensaje de error cuando se compila el proyecto:

    Error C2078: hay demasiados inicializadores

Causa

Este problema se produce porque el compilador supone que el archivo en la sección "Síntomas" tiene codificación MBCS. Debido a este comportamiento, el compilerincorrectly convierte el archivo.

Solución

Información de la revisión

Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplíquela sólo a sistemas que experimenten este problema específico.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, envíe una solicitud al servicio de atención al cliente y soporte técnico para obtener la revisión.

Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:

http://support.microsoft.com/contactus/?ws=supportNota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.

Requisitos previos

Debe tener Visual Studio 2008 Service Pack 1 (SP1) instalado para poder aplicar este hotfix.

Requisito de reinicio

No es necesario que reinicie el equipo después de aplicar esta revisión si no se utiliza ninguna instancia de Visual Studio.

Información de reemplazo de revisión

Esta revisión no sustituye a otras revisiones.

Información de archivo

La versión en inglés de esta revisión tiene los atributos de archivo (o atributos del archivo más reciente) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se muestran en la hora Universal coordinada (UTC). Al ver la información del archivo, se convierte en hora local. Para encontrar la diferencia entre la hora UTC y la hora local, utilice la ficha Zona horaria en el elemento de Fecha y hora del Panel de control.

Nombre del archivo

Versión del archivo

Tamaño de archivo

Fecha

Hora

Plataforma

C1.dll

15.0.30729.4987

678,720

09-Mar-2010

10:18

x86

C1xx.dll

15.0.30729.4987

2,204,488

09-Mar-2010

10:18

x86

C1xx.dll

15.0.30729.4987

2,215,240

09-Mar-2010

10:18

x86

C1xx.dll

15.0.30729.4987

2,339,656

09-Mar-2010

10:18

x86

C1xx.dll

15.0.30729.4987

2,505,552

09-Mar-2010

10:18

x86

C1xx.dll

15.0.30729.4987

2,891,592

09-Mar-2010

10:18

x64

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información

Para resolver el error en el compilador, instalar esta revisión y, a continuación, guarde el archivo junto con una marca de orden de bytes. Además, agregue la siguiente directiva de "pragma" justo antes de los literales de cadena en el archivo de origen.

#pragma execution_character_set("utf-8")

Nota: La directiva "pragma" establece la unidad de traducción para el archivo de origen hasta que la directiva "pragma" se sustituirá por otra directiva "pragma".

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×