質問: Clion 2019.1.4 でCプロジェクトを作成し、次のプログラムを実行したところ実行結果の日本語の部分が文字化けしてしまい困っています。 ``` #include int main() { printf("ハローワールド"); return 0; } ``` 実行結果 ``` C:\Users\USERNAME\CLionProjects\untitled\cmake-build-debug\untitled.exe 繝上Ο繝シ繝ッ繝シ繝ォ繝 Process finished with exit code 0 ``` ソースファイルのエンコードはUTF-8です。 ためしにソースファイルのエンコードをShiftJISに変更してみたら直りましたが、できればソースファイルのエンコードはUTF-8のままで文字化けを改善したいと思っております。 その他、試したことは以下の通りです。 * Custom VM Optionの末尾に-Dconsole.encoding=UTF-8, -Dfile.encoding=UTF-8の追加。 * 設定のEditor/Font, Editor/Color Scheme/Color Scheme Font, Editor/Color Scheme/Console FontのフォントをSource Han Code JP Lへの変更 OSはWindows 10 Home Version 1803 Build 17134.829 です。 おそらくソースファイルがUTF-8でコンソールのエンコードがShift JISになっているため文字化けしていると思われるのですが、確証がもてませんし、どう対処したらいいのかわかりません。 どうしたら文字化けが直るのでしょうか。 追記 実行ではなくデバッグをすると文字化けせずに表示されました。 実行のコンソールとデバッグのコンソールとではエンコードが異なるのでしょうか。 できれば実行のコンソール上でも文字化けがないようにしたいです。
回答: 入力と出力でキャラクタセットが異なるため、明示的に指定する必要があります。 MakeLists.txtに以下の行を追加してみてください。 > > set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /execution-charset:SHIFT_JIS /source-charset:UTF-8") > > >