ページ 11

文字化け

Posted: 2022年8月01日(月) 23:39
by aggron_jp
こんばんは。本日初めて質問を投稿させてもらいます。
visual studio codeを使ってC言語を勉強している者です。
日本語で書いた文字列をターミナル上で実行しても文字化けした状態で表示されてしまいます。
使用している文字コードはUTF-8で、Sift JISに切り替えてみても文字化けは直りませんでした。また、ターミナルで、 chcp 65001 という文字化けを改善する(?)コマンドを入力して実行してみても直りませんでした。他にもvisual studio codeの設定でファイルの読み取りをUTF-8にし、Auto Guess Encodingにもチェックを入れてみたのですが、特に変化はありませんでした。

どなたか解決策が分かる方がいましたら教えていただけますでしょうか。
私の書いたコードを下に書いておきます。
初歩的な質問で申し訳ありませんが、よろしくお願いいたします。

コード:

#include<stdio.h>

int main(void)
{
printf("文字化けいい加減にしろ");
return 0;
};

Re: 文字化け

Posted: 2022年8月02日(火) 00:39
by box
うちの環境(Netbeans8.2 古っ)で

コード:

#include <stdio.h>

int main(void)
{
    printf("文字化けいい加減にしろ\n");
    return 0;
}
を実行したけど、特に文字化けはせんかったで。
まあ著名なところでは「表」ちゅう文字が確かShift-JIS環境では
思いっきり文字化けするっちゅうんは有名な話やと思うし、
そもそも2バイト文字とか3バイト文字とかを「すべて完璧に」出力させよう
っちゅう考え方が少し甘いんかもな。どっかのバイトが制御文字と
かぶってる可能性があるみたいやし。

ところで、どうでもええ話やけど、提示コードの最後の行のセミコロンはいらんで。

Re: 文字化け

Posted: 2022年8月02日(火) 15:49
by aggron_jp
返信ありがとうございます。
確かに2バイト以上の文字をすべて完璧に表示させるのは至難の業なのかなと思いました。
私の環境に問題がありそうなのでもう少しその辺を調べたいと思います。
最後のセミコロンはいりませんねw

Re: 文字化け

Posted: 2022年8月02日(火) 21:47
by tk-xleader
Windows環境ではあると思いますが、コンパイラは何を使ってますか?
ソースコードの文字エンコーディングと実行ファイルの文字エンコーディングをオプションで指定することで解決する可能性がありますので、aggron_jpさんが使われているコンパイラを開示していただくとよいかと思います。