/source-charset (ソース文字セットの設定)

このオプションを使用すると、実行可能ファイルのソース文字セットを指定できます。

構文

$

引数

IANA_name
IANA によって定義された文字セット名。

.CPID
. 文字が先頭に付けられた、10 進数のコード ページ識別子。

解説

/source-charset オプションを使用すると、基本ソース文字セットで表されない文字がソース ファイルに含まれている場合に、使用する拡張ソース文字セットを指定できます。 ソース文字セットは、プログラムのソース テキストを解釈するために使用されるエンコーディングです。 これは、コンパイル前のプリプロセス フェーズへの入力として使用される内部表現に変換されます。 内部表現はその後、実行可能ファイルに文字列と文字の値を格納するために、実行文字セットに変換されます。 IANA または ISO の文字セット名のいずれかを使用するか、3 から 5 桁の 10 進数の前にドット (.) を付けて使用することができます。この 10 進数によって、使用する文字セットのコード ページ識別子が指定されます。 サポートされているコード ページ識別子と文字セット名の一覧については、「コード ページの識別子」を参照してください。

既定では、ソース ファイルがエンコードされた Unicode 形式 (UTF-16 や UTF-8 など) であるかどうかを判断するために、Visual Studio によってバイト オーダー マークが検出されます。 バイト順マークが見つからない場合は、/source-charset オプションまたは /utf-8 オプションを使用して文字セット名またはコード ページを指定していない限り、現在のユーザー コード ページでソース ファイルがエンコードされていると想定されます。 Visual Studio を使用すると、いくつかの文字エンコードのいずれかを使用して、C++ ソース コードを保存できます。 ソースおよび実行文字セットについて詳しくは、言語ドキュメントの文字セットに関するページを参照してください。

入力するソース文字セットは、7 ビットの ASCII 文字を文字セット内の同じコード ポイントにマップする必要があります。そうしないと、多くのコンパイル エラーが発生する可能性があります。 また、ソース文字セットには、UTF-8 の拡張 Unicode 文字セットへのマッピングが存在している必要があります。 UTF-8 に同じものがない文字は、実装固有の代替文字で表されます。 Microsoft コンパイラでは、それらの文字に疑問符を使用します。

ソース文字セットと実行文字セットの両方を UTF-8 に設定する必要がある場合は、/utf-8 コンパイラ オプションをショートカットとして使用できます。 これは、コマンド ラインの /source-charset:utf-8 /execution-charset:utf-8 と同じです。 これらのオプションのいずれかを指定すると、既定で /validate-charset オプションも有効になります。

Visual Studio 開発環境でこのコンパイラ オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。

  2. [構成プロパティ]>[C/C++]>[コマンド ライン] プロパティ ページを選択します。

  3. [その他のオプション]/source-charset オプションを追加し、優先エンコードを指定します。

  4. [OK] を選択して変更を保存します。

関連項目

MSVC コンパイラ オプション
MSVC コンパイラのコマンド ライン構文
/execution-charset (実行文字セットの設定)
/utf-8 (ソース文字セットおよび実行文字セットの UTF-8 への設定)
/validate-charset (互換性のある文字の検証)