狀況

請考慮下列情況:

  • 您在 Microsoft Visual Studio 2008 Service Pack 1 (SP1) 建立 Visual C++ 的專案。

  • 專案中的檔案具有窄字串常值。這些字串常值包含亞洲字元,而且不會以字母"L"前置字元

  • 字串常值會使用 utf-8 編碼方式。

在這個案例中,當您編譯專案,字串常值會被誤解由編譯器。此外,您會遇到下列問題之一︰

  • 編譯作業成功。不過,在產生的應用程式時沒有正確顯示的字串常值。此外,您也可能會收到下列警告訊息,當您編譯專案︰

    警告 C4566︰ 通用字元名稱 'xx' 所表示的字元無法在目前的字碼頁中。

  • 編譯作業會失敗。此外,您可能會在當您編譯專案時,收到下列錯誤訊息︰

    錯誤 C2078︰ 太多的初始設定式

原因

因為編譯器會假設 < 徵狀=""> 一節中的檔案具有 MBCS 編碼方式,就會發生這個問題。由於這種行為,compilerincorrectly 會將轉譯的檔案。

解決方案

Hotfix 資訊

支援的 hotfix 可從 Microsoft 取得。不過,此 Hotfix 僅用於修正本文中所述的問題。此 Hotfix 只適用於發生此特定問題的系統上。

如果 hotfix 可供下載,在此知識庫文件頂端將出現「可用的 Hotfix」區段。如果這個區段不會出現,將要求提交給 Microsoft 客戶服務及支援取得 Hotfix。

注意如果發生其他問題,或如果需要進行疑難排解,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題和此特定 hotfix 無法解決的問題。如 Microsoft 客戶服務及支援的電話號碼或建立個別的服務要求的完整清單,請造訪下列 Microsoft 網站︰

http://support.microsoft.com/contactus/?ws=support注意「 下載 Hotfix 」 表單會顯示 hotfix 可用的語言。如果看不到您的語言,是因為未提供該語言的 Hotfix 。

先決條件

您必須有 Visual Studio 2008 Service Pack 1 (SP1) 安裝套用此 hotfix 之後。

重新啟動需求

您不必重新啟動電腦,如果正在使用中沒有的 Visual Studio 執行個體,會套用此 hotfix 之後。

Hotfix 取代資訊

此 hotfix 不會取代其他 hotfix。

檔案資訊

此 hotfix 的英文版具有下列表格中所列檔案屬性 (或較新的檔案屬性)。這些檔案的日期和時間會以國際標準時間 (UTC) 格式列出。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請在 [控制台] 中的日期和時間項目使用 [時區] 索引標籤。

檔案名稱

檔案版本

檔案大小

日期

時間

平台

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

狀態

Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

更多的資訊

若要解決這個錯誤,在編譯器中的,安裝此 hotfix,然後儲存該檔案,加上位元組順序標記。此外,在原始程式檔中加入下列的 「 pragma"指示詞之前的字串常值。

#pragma execution_character_set("utf-8")

注意"Pragma"指示詞設定原始程式檔的轉譯單位,直到 「 pragma"指示詞另一個 「 pragma"指示詞所取代。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×