這份文件的 Microsoft Visual Studio 2008年版本,請參閱980263。
徵狀
請試想下列案例:
-
您在 Microsoft Visual Studio 2010 建立 Visual C++ 的專案。
-
專案中的檔案會初始化窄字串常值。 這些字串常值包含亞洲字元,而且不會以字母"L"前置字元
-
使用 utf-8 編碼方式儲存檔案。
在這個案例中,當您編譯專案,字串常值會被誤解由編譯器。 此外,您會遇到下列問題之一:
-
當檔案含有位元組順序標記 (BOM) 時,就會成功編譯作業。 不過,字串常值並仍在產生的應用程式沒有正確顯示。 此外,您可能會收到下列警告訊息,當您編譯專案中:
警告 C4566: 通用字元名稱 'xx' 所表示的字元不能以表示目前的字碼頁。
-
編譯作業會失敗。 此外,您可能會在當您編譯專案時,收到下列錯誤訊息:
錯誤 C2078: 太多的初始設定式
-
編譯作業會失敗。 此外,您可能會收到下列警告訊息,當您編譯專案中:
警告 C4129: '字元': 無法辨認的字元逸出序列。
原因
之所以發生這個問題,是因為編譯器會假設檔案中的常值無法當作 MBCS 為單一位元組 Unicode 編碼而不是前導位元組。由於發生此問題,編譯器無法正確轉譯檔案。
解決方案
要解決這個問題,請套用此 hotfix 到電腦您編譯專案。 然後,儲存檔案加上位元組順序標記,然後將下列的 「 pragma"指示詞,字串常值的前面加入原始程式檔中:
#pragma execution_character_set("utf-8")
答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 這個 「 pragma"指示詞設定原始程式檔的轉譯單位,直到這個"pragma"指示詞另一個 「 pragma"指示詞所取代。
此 hotfix 的詳細資訊
Hotfix 資訊
已經可以從 Microsoft 取得支援的 hotfix。 不過,其旨在修正本文所述的問題。 它只適用於發生此特定問題的系統上。 此 hotfix 可能會接受其他測試。 因此,如果此問題不會嚴重影響,我們建議您等候下一步] 包含此 hotfix。若要立即解決這個問題,請連絡 Microsoft 客戶支援服務 」 取得 hotfix。 如需 Microsoft 客戶支援服務電話號碼以及支援費用的相關資訊的完整清單,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 4013469注意:在某些特殊情況下,如果 Microsoft 技術支援人員認為特定更新可以解決您的問題,可能就不會收取一般因支援電話所產生的費用。 一般來說,如果有所描述之特定更新無法解決的其他支援問題,才會收取支援費用。
先決條件
您必須擁有 Microsoft 套用此 hotfix 之後安裝 Visual Studio 2010。
重新啟動資訊
您不必套用此 hotfix 之後,重新啟動電腦。
檔案資訊
此 hotfix 的英文版具有下列表格中所列檔案屬性 (或較新的檔案屬性)。 這些檔案的日期與時間是以國際標準時間 (UTC) 表示。 當您檢視檔案資訊時,它會轉換為當地時間。 若要查看 UTC 與當地時間的差異,請使用 [控制台] 中 [日期和時間] 項目的 [時區] 索引標籤。
檔案名稱 |
檔案版本 |
檔案大小 |
日期 |
時間 |
平台 |
---|---|---|---|---|---|
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 |
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。