Visual Stduioの「開発コマンドプロンプト for VS2015」を使ってC言語をコンパイル、実行しています。
C言語のソースファイルは互換性のためUTF-8で記述しているのですが、コマンドプロンプトで文字化けしてしまいます。
コマンドプロンプトのデフォルト文字コードがshift_jisということで、chcp65001でutf-8に設定してみましたが
なぜかchcp65001をするとフォントに日本語対応フォントがないため、文字コードを変更しても日本語がうまく表示できません。
オリジナルのゲームやソフトを作っているわけではなく、参考書のサンプルプログラムを何個も作っている状況なのでプロジェクトフォルダを作成するIDEは極力使いたくありません。
質問に適当な場所が思いつかなかったのでこちらで質問しましたが、C言語フォーラムでの質問が不適切であれば削除しようと思います。
詳しい方回答よろしくお願いします。
コマンドプロンプトでUTF-8
Re: コマンドプロンプトでUTF-8
clのコマンドラインオプション/source-charsetと引数utf-8を使う (/source-charset:utf-8) ことで,ソースファイルの文字コードをUTF-8にすることができます。
また,/execution-charsetの指定で,実行環境の文字コードを設定することができます。
どちらもutf-8にしたいのであれば,/utf-8というオプションもあります。
ただし,どれもVisual Studio 2015 Update 2の新機能になります。
Update 2への更新をしていない場合は,Update 2に更新してください。
reference)
New Options for Managing Character Sets in the Microsoft C/C++ Compiler | Visual C++ Team Blog
また,/execution-charsetの指定で,実行環境の文字コードを設定することができます。
どちらもutf-8にしたいのであれば,/utf-8というオプションもあります。
ただし,どれもVisual Studio 2015 Update 2の新機能になります。
Update 2への更新をしていない場合は,Update 2に更新してください。
reference)
New Options for Managing Character Sets in the Microsoft C/C++ Compiler | Visual C++ Team Blog
Re: コマンドプロンプトでUTF-8
環境によっても違うかもしれませんが、UTF-8を表示するには、コードページを
65001に変更する必要があり、デフォルトのフォントでは表示できないようです。
MSゴシックに変更すれば表示できますが、先にコードページを65001に設定する
とMSゴシックが選べないようなので、その場合は一旦コードページを932に戻し
てフォントをMSゴシックにして、再度コードページを65001にすればUTF-8の
文字を表示できるようになります。
65001に変更する必要があり、デフォルトのフォントでは表示できないようです。
MSゴシックに変更すれば表示できますが、先にコードページを65001に設定する
とMSゴシックが選べないようなので、その場合は一旦コードページを932に戻し
てフォントをMSゴシックにして、再度コードページを65001にすればUTF-8の
文字を表示できるようになります。
Re: コマンドプロンプトでUTF-8
YuOさんの回答にあったコマンドラインのオプションを用いるというもので
無事utf-8のCソースを文字化け無しでコンパイル、実行することができました!
Bullさんの方法はネット上に記載があったので試したのですが
やはりコードページ65001に直すとフォントは強制変更&日本語フォント設定不可能になります。
WIndows8.1で仕様が変わったのでしょうか?
回答してくださった御二方、ありがとうございました。
無事utf-8のCソースを文字化け無しでコンパイル、実行することができました!
Bullさんの方法はネット上に記載があったので試したのですが
やはりコードページ65001に直すとフォントは強制変更&日本語フォント設定不可能になります。
WIndows8.1で仕様が変わったのでしょうか?
回答してくださった御二方、ありがとうございました。