まず、C 言語プログラムを作成して実行するプロセスについて明確にする必要があります。実際には、xxx.c ファイルを作成し、次に gcc xxx.c を実行して xxx.exe ファイルを生成し、その後 xxx.exe ファイルを実行して実行効果を確認します。
コマンドラインを開いてプロパティを表示すると、使用されている文字セットが UTF-8 であることがわかります。
このとき、C言語プログラムのエンコード形式がcmdコマンドラインの文字セットと一致していないと文字化けが出力されます。
C プログラム自体を実行する vscode の原理も同じです。シェルを開いて gcc を実行して exe を生成し、exe ファイルを実行して出力結果を確認するのに役立ちます。ただし、vscode のエンコード形式はデフォルトで utf8 です。エンコーディングが均一でない場合、出力は文字化けします。
エンコード形式を手動で gbk に変更できます。
この時、文字化けした場合はCtrlキーを押して元に戻すと正常に中国語を出力できるようになります。
ただし、この方法では、C 言語プログラムを作成するたびに、上記のようにコードを手動で変更する必要があります。より良い解決策は、vscode 設定で settings.json を選択し、次の構成を追加することです。
"[cpp]": {
"files.encoding": "gbk"
},
"[c]": {
"files.encoding": "gbk"
},
C プログラムおよび C++ プログラムを作成するときに gbk エンコーディングを使用するように vscode に指示します。
新しく作成された c ファイルは、デフォルトでは gbk によってエンコードされます。
再度中国語を出力すると文字化けはなくなりました。
これらの原理を知れば、他の言語でプログラムを書いたときの文字化けの問題も同様の方法で解決できます。