Bu makalenin Microsoft Visual Studio 2008 sürümü için bkz: 980263.
Belirtiler
Aşağıdaki senaryoyu inceleyin:
-
Microsoft Visual Studio 2010'bir Visual C++ projesi oluşturursunuz.
-
Bir proje dosyasında dar dize hazır başlatır. Asya karakterleri içeren ve "L" harfiyle öneki olmayan bu dize hazır bilgileri
-
Dosyanın UTF-8 kodlaması kullanılarak kaydedildi.
Projeyi derlediğinizde Bu senaryoda, derleyici tarafından dize hazır bilgileri yanlış yorumlayan. Ayrıca, aşağıdaki sorunlardan biriyle karşılaşırsınız:
-
Bir bayt sırası işareti (BOM) dosya içeriyorsa, derleme işlemi başarılı olur. Ancak, dize hazır hala hatalı oluşturulmuş uygulama içinde görüntülenir. Ayrıca, Projeyi derlediğinizde aşağıdaki uyarı iletisini alabilirsiniz:
Uyarı C4566: evrensel karakter-adı 'xx' temsil karakter geçerli kod sayfasında gösterilemez.
-
Derleme işlemi başarısız olur. Ayrıca, Projeyi derlediğinizde aşağıdaki hata iletisini alabilirsiniz:
Hata C2078: Çok fazla başlatıcıları
-
Derleme işlemi başarısız olur. Ayrıca, Projeyi derlediğinizde aşağıdaki uyarı iletisini alabilirsiniz:
Uyarı C4129: 'karakter': Tanınmayan çıkış sırası karakter.
Neden
Derleme dosyası hazır tek baytlı Unicode kodlama yerine MBCS ön bayt olarak yorumlanabilen kabul ettiği için bu sorun oluşur. Bu sorun nedeniyle, derleyici yanlış dosya çevirir.
Çözüm
Bu sorunu gidermek için projeyi derleyin bilgisayara bu düzeltmeyi uygulayın. Sonra bir bayt sırası işareti ile birlikte dosyayı kaydedin ve sonra kaynak dosyada dize hazır bilgileri hemen önce aşağıdaki "pragma" yönergesi ekleyin:
#pragma execution_character_set("utf-8")
Not Bu "pragma" yönergesi başka bir "pragma" yönergesi tarafından değiştirilene kadar bu "pragma" yönergesi çeviri birimi kaynak dosya için ayarlar.
Bu düzeltme hakkında daha fazla bilgi
Düzeltme bilgileri
Artık Microsoft tarafından desteklenen bir düzeltme sağlanmaktadır. Ancak bunun yalnızca bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Yalnızca bu özel sorunla karşılaşmış olan sistemlere uygulayın. Bu düzeltme ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilemiyorsa, bu düzeltmeyi içeren bir sonraki için beklemenizi öneririz. Bu sorunu hemen düzeltmek için düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Microsoft Müşteri Destek Hizmetleri telefon numaralarının ve destek ücretleriyle ilgili bilgi tam listesi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=supportNot Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözeceğini belirlerse, destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.
Ön koşullar
Visual Studio 2010 bu düzeltmeyi uygulamak için yüklü olması gerekir.
Yeniden başlatma bilgileri
Bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez.
Dosya bilgileri
Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya öznitelikleri) sahiptir. Bu dosyalarla ilgili tarihler ve saatler Eşgüdümlü Evrensel Saat (UTC) kullanılarak listelenmiştir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ile yerel saat arasındaki farkı bulmak için Denetim Masası'ndaki Tarih ve Saat aracında Saat Dilimi sekmesini kullanın.
Dosya adı |
Dosya sürümü |
Dosya boyutu |
Tarih |
Saat |
Platform |
---|---|---|---|---|---|
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 |
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.