Code::Blocks(Windows)でコマンドプロンプトへの UTF-8 文字出力

Windows OS 用の Code::Blocks でコンソール・アプリケーションを作って実行すると、Windows に搭載されている“コマンドプロンプト”が起動される。

Code::Blocks は UTF-8 に対応しているが、この文字エンコーディングソースコードを記述してビルドした後、日本語文字をコンソール出力しても、標準ではコマンドプロンプトが対応していないので文字化けしてしまう。

そこで、“コマンドプロンプト”で UTF-8 の文字出力が行なえるように、Code::Blocks のコンパイル・オプションを設定する。


初めに、メニュー「Settings...」から「Editor...」を選択して、
General settings / Other settings のタブで、エンコーディングを“UTF-8”に設定する。


次に、メニュー「Settings...」から「Compiler...」を選択して、Global compiler settings / Other options の入力欄に“-fexec-charset=cp932”と入力する。


以上の設定を行なった上で、たとえば次のような C++ソースコードをビルド&実行する。

#include
using namespace std;

int main()
{
  cout << "みなさん、こんにちわ!" << endl;
}


このコンソール・アプリケーションの“コマンドプロンプト”への出力は下図のようになる。
文字化けを起こさずにちゃんと日本語文字が表示されている。



なお、使用した Code::Blocks は、codeblocks-12.11mingw-setup.exe でインストールした。