FIX: Letterlijke tekenreeks worden geïnterpreteerd door de compiler Visual C++ in Visual Studio 2008 Service Pack 1 wanneer de letterlijke tekenreeks UTF-8-codering gebruikt en Aziatische tekens bevatten

Symptomen

Overweeg het volgende scenario:

  • U maakt een Visual C++-project in Microsoft Visual Studio 2008 Service Pack 1 (SP1).

  • Een bestand in het project heeft smalle letterlijke tekenreeksen. Deze letterlijke Aziatische tekens bevatten en niet worden voorafgegaan door de letter 'l '.

  • De letterlijke tekenreeks gebruikt UTF-8-codering.

In dit scenario is wanneer u het project compileert de letterlijke tekenreeksen zijn onjuist geïnterpreteerd door de compiler. Bovendien ondervinden de volgende problemen:

  • De compilatie-bewerking is geslaagd. De letterlijke tekenreeks worden echter niet goed weergegeven in de gegenereerde toepassing. Bovendien wordt u ook de volgende waarschuwing weergegeven wanneer u het project compileert:

    C4566 waarschuwing: teken wordt vertegenwoordigd door universal character naam 'xx' kan niet worden weergegeven in de huidige pagina.

  • De compilatie is mislukt. Bovendien verschijnt het volgende foutbericht weergegeven wanneer u het project compileert:

    Fout C2078: te veel begin

Oorzaak

Dit probleem treedt op omdat de compiler wordt ervan uitgegaan dat het bestand in de sectie 'Symptomen' MBCS-codering. Hierdoor wordt de compilerincorrectly het bestand.

Oplossing

Informatie over de hotfix

Een ondersteunde hotfix is beschikbaar bij Microsoft. Deze hotfix is echter alleen bedoeld voor het probleem dat wordt beschreven in dit artikel. Voer deze hotfix alleen uit op systemen waarop dit specifieke probleem zich voordoet.

Als de hotfix gedownload kan worden, is er een sectie 'Hotfix downloaden' aan het begin van dit Knowledge Base-artikel. Als deze sectie niet wordt weergegeven, dien dan een verzoek in bij Microsoft Customer Service and Support om de hotfix te verkrijgen.

Opmerking Als er andere problemen optreden of als probleemoplossing is vereist, moet u wellicht een apart serviceverzoek indienen. De normale ondersteuningskosten gelden voor extra ondersteuningsvragen en problemen die niet in aanmerking komen voor deze specifieke hotfix. Voor een volledige lijst met telefoonnummers van Microsoft Customer Service and Support of een afzonderlijk serviceverzoek maken, gaat u naar de volgende Microsoft-website:

http://support.microsoft.com/contactus/?ws=supportOpmerking Het formulier 'Hotfix kan worden gedownload' geeft de talen weer waarvoor de hotfix beschikbaar is. Als uw taal niet wordt weergegeven, is dit omdat een hotfix niet voor die taal beschikbaar is.

Vereisten

U kunt Visual Studio 2008 Service Pack 1 (SP1) geïnstalleerd om deze hotfix moet hebben.

Opnieuw opstarten

U beschikt niet over de computer opnieuw opstarten nadat u deze hotfix hebt toegepast, als er geen exemplaar van Visual Studio wordt gebruikt.

Informatie over het vervangen van hotfixes

Deze hotfix worden geen andere hotfixes vervangen.

Bestandsinformatie

De Engelse versie van deze hotfix heeft de bestandskenmerken (of recentere bestandskenmerken) die in de volgende tabel worden weergegeven. De datums en tijden voor deze bestanden worden weergegeven in Coordinated Universal Time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Om het verschil tussen UTC en lokale tijd op te zoeken, gebruikt u het tabblad tijdzone in het onderdeel datum en tijd in het Configuratiescherm.

Bestandsnaam

Bestandsversie

Bestandsgrootte

Datum

Tijd

Platform

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

Status

Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Meer informatie

Deze hotfix installeren om de fout in de compiler verhelpen, en sla het bestand met een byte order mark. Ook de volgende richtlijn "pragma" net vóór de letterlijke tekenreeks toevoegen in het bronbestand.

#pragma execution_character_set("utf-8")

Opmerking De richtlijn "pragma" stelt de eenheid van vertaling voor het bronbestand totdat de richtlijn "pragma" wordt vervangen door een andere "pragma"-richtlijn.

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagenten.

×