質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

Q&A

解決済

1回答

3768閲覧

GCCでのコンパイル時に文字化けしてしまいます。

yoshi9537

総合スコア1

GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

0グッド

0クリップ

投稿2020/05/16 12:42

C言語のプログラムをgcc sample.cとコンパイルはできるのですが
肝心のprintf内に記入した内容が文字化けしてしまいます。

色々と調べてみた結果コマンドプロンプトでCHCP 65001と文字コードを
UTF-8に変更すれば良いと分かり入力してみた結果、次のようなエラーメッセージが
表示されました。

'chcp' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

他にも調べてみた結果、PATHの設定を変更すれば良いとサイトに書かれておりましたが
私にはどうすれば良いのかが分かりませんでした。

環境はwindows10 home 64bit コンパイラはMinGW-W64 project

お分かりになる方がいらっしゃいましたら、ご教授いただきますよう
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2020/05/16 13:14

ソースコードをUTF-8で保存したということでしょうか?
yoshi9537

2020/05/16 13:16

はい、その通りです。 ソースコードはVS codeで作成しております。UTF-8で保存しております。
guest

回答1

0

ベストアンサー

chcp.comC:\Windows\System32にあります。
普通はパスが通っているはずですが…

投稿2020/05/16 13:12

SHOMI

総合スコア4079

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoshi9537

2020/05/16 13:23

解決いたしました。 ありがとうございます。
yoshi9537

2020/05/16 13:26

一度、コマンドプロンプトを閉じてしまうともう一度設定しなくてはいけないのですね。
SHOMI

2020/05/16 13:34

エクスプローラで右クリックして"新規作成"-"ショートカット"をクリック、"項目の場所"に C:\Windows\System32\cmd.exe /K "chcp 65001" を入力して"次へ"をクリック。 "ショートカットの名前"を適当に入力して"完了"をクリック。 作成されたショートカットから起動すればutf8のコマンドプロンプトが開かれます。
Bull

2020/05/16 13:57

解決したのに余計なことですが、コンソールのコードページを 65001 (UTF-8) にすると、標準入力から日本語の入力が出来なくなるようです。 gcc に -fexec-charset=cp932 を付けて、実行時の文字コードを Shift_JIS にするという方法もあります。
yoshi9537

2020/05/16 13:57

解決いたしました。 おっしゃったとおり易しくかつ丁寧に回答していただきまして 誠にありがとうございます。
yoshi9537

2020/05/16 14:06

Bull様へ 何分、PCを触りだしてから日が浅いものですから、よくわからない部分があります。 コンパイル時のgcc sample.cの時にコマンドプロンプトの入力に-fexec-charset=cp932をつけて コンパイルすればよろしいのでしょうか?
Bull

2020/05/16 14:13

はい、そういうことです。 gcc -fexec-charset=cp932 sample.c とします。 当然ですがそうすると、CP932 (Shift_JIS) 以外の文字は出力出来なくなりますが。
yoshi9537

2020/05/16 14:30

Bull様へ 丁寧に説明していただきありがとうございます。 今回、回答を依頼させていただいたのは毎回設定しなくてもC言語の実行結果が 文字化けしないような設定を望んでおりました。 SHOMI様から教えていただきました設定でC言語の勉強をしていこうと思います。
yoshi9537

2020/05/16 14:33

Bull様へ 感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問