コンパイルしたファイルを実行すると、printfを用いて日本語を出力しようとした部分がターミナルで文字化けしてしまいます。(写真のあみだくじの上下の部分です。)
どのとうにすれば文字化けが解消されるのでしょうか。
###該当部分のコード
void main() { char c[128]; int N; printf("\nあみだくじ(AA)\n"); INIbuf(); /*領域設定*/ DISP(); /*画面表示*/ while(1) { printf("\n番号を入力してください(1~%dで終了):",LMAX); fflush(stdout); gets(c); N=atoi(c); /*番号入力*/ if (N<1 || N>LMAX ) break; /*範囲外*/ KUJI(N); /*くじをなぞる*/ DISP(); /*画面表示*/ } }
試したこと
settings.jsonにて
"files.autoGuessEncoding": true
"terminal.integrated.shellArgs.windows": [
"-NoExit",
"chcp",
"65001"
]
を追加しましたが改善されませんでした。
※追記
UTF-8からShift JISに変更したところ、コードの日本語も文字化けしてしまいました。
初歩的な質問で大変恐縮ですが、ご教授いただければと思います。よろしくお願いいたします。
VSCodeのウィンドウ右下にある文字エンコードで、Shift JISを指定する方法は採れないのでしょうか。
ご助言ありがとうございます。ためしてみたのですが、コードの日本語、実行後の日本語がともに文字化けしてしまいました…。
文字コードの部分をクリックすると、「エンコード付きで再度開く」「エンコード付きで保存」という選択肢が出てきたと思うのですが、前者を選ぶと「現在のファイル内容は変更せず指定した文字コードで開く」動作になりますので、日本語文字がUTF-8で記録されているファイルに対してこの操作を行うと文字化けします。多分、その状態になっているのではないでしょうか。一度ファイルを閉じてもう一度開けば、再びUTF-8で開かれませんか?
コードの文字化けの原因は理解できました。ありがとうございます。
やはり実行後の文字化けを解消する方法はないのでしょうか。
コードの文字化けの原因は理解できました。ありがとうございます。
やはり実行後の文字化けを解消する方法はないのでしょうか?
vscodeのターミナルで1: cmd と 2: powershellを選べるようになっていますがどちらになっていますか?
右下にある文字エンコードで、Shift JISを押し、ターミナルでchcp 932をコマンド実行してから実行すると文字化けしますか?
右下にある文字エンコードで、UTF-8を押し、ターミナルでchcp 65001をコマンド実行してから実行すると文字化けしますか?
powershellになっています。chcp 65001を実行しようとすると追記した画像のようになってしまいました。どう対処すれば良いでしょうか?
PS C:\> cd \windows\system32
PS C:\windows\system32> ./chcp
これをやってみてください。
あなたのOSと違っていてコマンドchcpの場所が違うかもしれませんが。
PS C:\> cd \windows\system32
PS C:\windows\system32> ./chcp
を実行はできたのですが、chcp 65001を実行しようとするとまた新しく追記した画像のようになってしまいます…。何度も質問してしまい申し訳ありません。
> "get-help about_Command_Precedence"と入力してヘルプを参照してください。
PS C:\> get-help about_Command_Precedence
get-help : Get-Help could not find about_Command_Precedence in a help file in this session.
こちらでは実行できませんでした。
あなたの環境でヘルプを参照して解決策がないか調べてみてください。
> ".\chcp"と入力してください。
".\chcp 65001"あるいは"C:\windows\system32\chcp 65001"とコマンド入力してみてください。
エスパーするとPATHを通してないと思います(環境変数PATHにC:\Windows\system32が入っていない)。
"$env:PATH.split(';')"をコマンド入力してみてください。
こちらの質問はVisual Studio Codeの質問です。
Visual Studio Codeのタグを追加してそちらで回答してもらってください。
vscodeのタグがないと運営に問い合わせてしまいました(笑)
https://teratail.com/tags/Visual+Studio+Code
わざわざありがとうございます。提案したいただいたことを一つずつ試してみます…。ありがとうございました。
