夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

C++プロジェクトをビルド時に日本語の文字が文字化けする問題の解消

本日はC++およびVisualStudio枠です。

〇環境

・Windows11PC

・VisualStudio2022

〇発生した問題

 今回は先日コンパイルしたKeyCastOWですが、日本語の文字の表記を行おうとしたところ文字化けが発生しました。

redhologerbera.hatenablog.com

 今回はこの問題を解消しC++プロジェクトで日本語が使用できるようにします。

〇文字化けが発生する理由

 文字化けが発生する理由は文字コードの違いによるものです。

 というのもVisualStudioでC++プロジェクトをビルドした場合Shift-JISコンパイルされるようです。(デフォルトの文字コードはシステムのロケール設定に依存します。日本語のWindowsでは、デフォルトの文字コードはShift-JISになります。)

 プロジェクト側では日本語はUTF-8を期待しており、Shift-JISで解釈すると文字化けが発生します。

UTF-8とShift-JIS

UTF-8とShift-JISはどちらも文字コードで使用されますが、それぞれ異なる特性を持っています。

UTF-8はUicodeを使用して文字をエンコードする方法の一つで世界中のほぼすべての文字にユニークな番号を割り当てるUnicodeに基づいています。

対してShift-JISは日本語を表すために開発されたエンコード方式でJIS規格の一つです。

コンパイラーのオプション

①プロジェクトのプロパティウィンドウを開きます。

②プロパティウィンドウからC/C++コマンドラインを開きます。

③追加のオプション(D)に/utf-8を追加します。

以上でオプションの追加が完了しました。このままビルドすることでShift-JISではなくUTF-8コンパイルが実行されるため文字化けが解消さえれます。

本日は以上です。