Windows10のgccでUTF8で作ったコードが文字化けする場合の対処

Windows10のgccでUTF8で作ったコードが文字化けする場合の対処C言語初級
スポンサーリンク
結論
コマンドプロンプト上

chcp 65001

と打ち込んでエンターキーを押す。

先日MinGWというgccコンパイラをインストールしたのですが、UTF-8で保存したC言語ソースコードをWindowsのコマンドプロンプトでコンパイルし実行したら見事文字化けしました。

gccのコンパイラ側のスイッチで

gcc test.c -finput-charset=UTF-8 -fexec-charset=CP932

などではうまくいかなかったため、上記方法にたどりつきました。

再現イメージ
普通にgcc ***.cとしてコンパイルして作成された実行ファイルa.exeをそのまま実行してみる。
Windows10のgccでUTF8で作ったコードが文字化けする場合の対処

見事に文字化け!

次にコマンドプロンプトをUTF-8の文字コード出力に対応させるコマンド

chcp 65001

を実行。(実行後は、コマンドプロンプト画面の情報がクリアされ、先頭行に「Active code page: 65001」と表示されます)

Windows10のgccでUTF8で作ったコードが文字化けする場合の対処

再度a.exeを実行してみると…
Windows10のgccでUTF8で作ったコードが文字化けする場合の対処

文字化けが解消した!

よく利用するのであれば、バッチファイルを作っておくといいと思います。

例)bakenai.bat

@echo off
chcp 65001
echo UTF-8モードだよ!

しかし、文字化けって自分が悪いことした訳でもないのに、いやな気分になりますよね。

あっ、あとちなみにコマンドプロンプトの元の文字コードであるSHIFT-JISに戻す場合は、

chcp 932

と打ち込んでEnterキーを押して下さい。

コメント

  1. taken より:

    とても参考になりました。
    丁度どうやって直すか手をこまねいていたので助かりました。