本日はC++およびVisualStudio枠です。
〇環境
・Windows11PC
・VisualStudio2022
〇発生した問題
今回は先日コンパイルしたKeyCastOWですが、日本語の文字の表記を行おうとしたところ文字化けが発生しました。
今回はこの問題を解消し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でコンパイルが実行されるため文字化けが解消さえれます。
本日は以上です。