Ispravka: Literali niske su pogrešno protumačena od strane Visual C++ prevodilački program Visual Studio 2010 kada su Literali niske koristite UTF-8 kodiranje i sadrže azijski znakovi

Za verziju ovog članka za Microsoft Visual Studio 2008, pogledajte 980263.

Simptomi

Razmotrite sledeći slučaj:

  • Stvarate Visual C++ projekta u Microsoft Visual Studio 2010.

  • Datoteke u projektu pokrene literali uske niske. Ovi Literali niske sadrži azijski znakova i ne su prefixed sa slovom „L.”

  • Sačuvana pomoću UTF-8 kodiranje.

U ovom slučaju, kada te sastavljanje projekta, na Literali niske su pogrešno protumačena od strane prevodilački program. Pored toga, naiđete na neki od sledećih problema:

  • Kada je datoteka sadrži znak za bajt-nalog (Sastavnice), Kompajliranje operacija uspe. Međutim, na Literali niske i dalje prikazuju nepravilno u generisani aplikaciji. Pored toga, možete da primite sljedeću poruku upozorenja kada te sastavljanje projekta:

    Upozorenje C4566: Znaka predstavljena Univerzal--ime znaka „xx” ne može da bude predstavljen na trenutnu kodnu stranicu.

  • Kompajliranje operacija ne uspe. Pored toga, možete dobiti sledeću poruku o grešci kada te sastavljanje projekta:

    Greška C2078: Previše initializers

  • Kompajliranje operacija ne uspe. Pored toga, možete da primite sljedeću poruku upozorenja kada te sastavljanje projekta:

    C4129 upozorenje: „karakter”: neprepoznat sekvenca karaktera beg.

Uzrok

Do ovog problema dolazi zato što prevodilački program pretpostavlja da literali u datoteci moglo bi se shvatiti kao bajt umesto da je kao jednobajtni Unikod kodiranja MBCS. Zbog ovog problema, prevodilački program nepravilno prevodi datoteku.

Rešenje

Da biste rešili ovaj problem, primenite sa računarom na kojem ti sastavljanje projekta. Onda, sačuvajte datoteku zajedno sa znak bajt-nalog, a zatim dodajte sledeće direktive „pragma” pre nego što su Literali niske u izvornoj datoteci:

#pragma execution_character_set("utf-8")

Napomena Ta direktiva „pragma” postavlja Prevod jedinice za izvornu datoteku dok se ova direktiva „pragma” je zamenjen drugom direktivom „pragma”.

Više informacija o tom hitnom popravku

Informacije o prilagodbenom popravku

Podržana hitna ispravka sada je dostupna od korporacije Microsoft. Međutim, to je namenjena za ispravljanje samo problem koji je opisan u ovom članku. Primenite je samo na sisteme sa ovim određenim problemom. Ova hitna ispravka možda će se dodatno testirati. Zbog toga, ako niste ozbiljno ugroženi ovaj problem, preporučujemo da sačekate sledeći koji sadrži ovu zakrpu. Da biste odmah riješili taj problem, obratite se Microsoft službi korisničke podrške da biste nabavili hitni popravak. Za kompletnu listu brojeva telefona Microsoft službi korisničke podrške i informacije o cijenama podrške, potražite na sledećoj Microsoft Veb lokaciji:

http://support.microsoft.com/contactus/?ws=supportNapomena U posebnim slučajevima cene koje se obično naplaćuju za pozive podrške mogu biti ukinute ako stručnjak Microsoft podrške utvrdi da će određena ispravka rešiti problem. Uobičajeni troškovi podrške važiće za dodatna pitanja u vezi sa podrškom i probleme koji nisu direktno povezani sa datom ispravkom.

Preduslovi

Morate da imate Microsoft Visual Studio 2010 godine da biste primijenili ovaj hitni popravak.

Informacije o ponovnom pokretanju

Ne morate ponovo pokrenuti računalo nakon što primijenite ovaj hitni popravak.

Informacije o datoteci

Verzija ove hitne ispravke na engleskom jeziku ima atribute datoteke (ili novije atribute datoteke) koji su navedeni u tabeli. Datumi i vremena ovih datoteka navedeni su u koordiniranom univerzalnom vremenu (UTC). Kada pregledate informacije o datoteci, to je pretvaraju u lokalno vrijeme. Da biste saznali razliku između UTC i lokalnog vremena, koristite karticu " Vremenska zona " u stavci " datum i vreme " na kontrolnoj tabli.

Ime datoteke

Verzija datoteke

Veličina datoteke

Datum

Vreme

Platforma

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

Microsoft je potvrdio da je ovo problem kod Microsoft proizvoda koji su navedeni u odeljku „Odnosi se na”.

Potrebna vam je dodatna pomoć?

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Microsoft insajdere

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×