Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Symptômes

Considérez le scénario suivant :

  • Vous créez un projet Visual C++ dans Microsoft Visual Studio 2008 Service Pack 1 (SP1).

  • Un fichier dans le projet a des littéraux de chaîne étroite. Ces littéraux de chaîne contient des caractères asiatiques et n’est pas précédés de la lettre « l ».

  • Les littéraux de chaîne utilisent l’encodage UTF-8.

Dans ce scénario, lorsque vous compilez le projet, les littéraux de chaîne sont mal interprétés par le compilateur. En outre, vous rencontrez l’un des problèmes suivants :

  • L’opération de compilation réussit. Toutefois, les littéraux de chaîne sont affichés correctement dans l’application générée. En outre, vous pouvez également recevoir des messages d’avertissement suivants lorsque vous compilez le projet :

    avertissement C4566 : caractère représenté par le nom de caractère universel 'xx' ne peut pas être représenté dans la page de codes actuelle.

  • La compilation échoue. En outre, le message d’erreur suivant peut s’afficher lorsque vous compilez le projet :

    erreur C2078 : trop d’initialiseurs

Cause

Ce problème se produit car le compilateur suppose que le fichier dans la section « Symptômes » a codage de MBCS. En raison de ce comportement, le compilerincorrectly convertit le fichier.

Résolution

Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes rencontrant ce problème spécifique.

Si le correctif est disponible pour le téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » au début de cet article de la Base de connaissances. Si cette section n’apparaît pas, soumettez une demande au Service Clients et Support de Microsoft pour obtenir le correctif.

Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone du Service clientèle et support technique de Microsoft ou pour créer une demande de service distincte, visitez le site Web de Microsoft à l'adresse suivante :

http://support.microsoft.com/contactus/?ws=supportRemarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'il n'y a pas de correctif disponible pour cette langue.

Conditions préalables

Vous devez disposer de Visual Studio 2008 Service Pack 1 (SP1) pour appliquer ce correctif.

Nécessite un redémarrage

Vous n’êtes pas obligé de redémarrer l’ordinateur après avoir appliqué ce correctif logiciel si aucune instance de Visual Studio n’est utilisé.

Informations de remplacement du correctif

Ce correctif n’en remplace pas d’autres correctifs.

Informations sur les fichiers

La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, elles sont converties en heure locale. Pour trouver la différence entre l’UTC et l’heure locale, utilisez l’onglet fuseau horaire dans l’élément de Date et heure dans le panneau de configuration.

Nom de fichier

Version de fichier

Taille du fichier

Date

Heure

Plateforme

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

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Pour résoudre l’erreur de compilateur, installez ce correctif logiciel et puis enregistrez le fichier avec une marque d’ordre d’octet. En outre, ajoutez la directive suivante « pragma » juste avant les littéraux de chaîne dans le fichier source.

#pragma execution_character_set("utf-8")

Remarque La directive « pragma » définit l’unité de traduction pour le fichier source jusqu'à ce que la directive « pragma » est remplacée par une autre directive « pragma ».

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×