共用方式為


execution_character_set pragma

指定用於字串和字元常值的執行字元集。 以前置詞標示 u8 的常值不需要此指示詞。

語法

#pragma execution_character_set(target)

參數

target
指定目標執行字元集。 目前唯一支援的目標執行集是 "utf-8"

備註

這個編譯程式指示詞在 Visual Studio 2015 Update 2 和更新版本中已經過時。 建議您在包含擴充字元的 /execution-charset:utf-8 窄字元和字串常值上使用 或 /utf-8 編譯程式選項與 u8 前置詞。 如需前置詞的詳細資訊 u8 ,請參閱 字串和字元常值。 如需編譯程式選項的詳細資訊,請參閱/execution-charset(設定執行字元集)/utf-8 (將來源和執行字元集設定為UTF-8)。

指示 #pragma execution_character_set("utf-8") 詞會指示編譯程式將原始程式碼中的窄字元和窄字串常值編碼為可執行檔中的UTF-8。 此輸出編碼與來源檔案編碼方式無關。

根據預設,當編譯程式編碼窄字元和窄字串時,它會使用目前的代碼頁作為執行字元集。 目前代碼頁範圍以外的 Unicode 或 DBCS 字元會轉換成輸出中的預設取代字元。 Unicode 和 DBCS 字元會截斷到其低序位元組,這幾乎永遠不會是您想要的。 若要指定來源檔案中常值的 UTF-8 編碼方式,請使用 u8 前置詞。 編譯程式會將這些UTF-8編碼字串傳遞至未變更的輸出。 前面加上 u8 的窄字元常值必須符合位元組,或在輸出時截斷。

根據預設,Visual Studio 會使用目前的代碼頁做為用來解譯原始程式碼輸出的來源字元集。 讀取檔案時,除非檔案已設定代碼頁,否則Visual Studio會根據目前的代碼頁解譯它。 或者,除非在檔案開頭偵測到位元組順序標記 (BOM) 或 UTF-16 字元。 您無法將 UTF-8 設定為某些 Windows 版本中目前的代碼頁。 當自動偵測在這些版本中尋找沒有 BOM 的 UTF-8 編碼來源檔案時,Visual Studio 會假設它們是在目前的代碼頁中編碼。 來源檔案中超出指定或自動偵測到代碼頁範圍內的字元,可能會導致編譯程式警告和錯誤。

另請參閱

Pragma 指示詞和 __pragma_Pragma 關鍵詞
/execution-charset (設定執行字元集)
/utf-8 (將來源和執行字元集設定為 UTF-8)