VS Code + PowerShell + gcc + 日本語 = 文字化けする問題

2025年2月22日土曜日

ryuzu2048.github.io

なんか文字化けした

#include <stdio.h>

int main(void) {
    printf("てすとだよ\n");

    return 0;
}
PS C:\> gcc .\test001.c -o .\test001.exe
PS C:\> .\test001.exe
縺ヲ縺吶→縺繧・

当時の条件

  • プログラムの文字コードがUTF-8だった。
  • プログラムの改行コードがLFだった。
  • PowerShellを使用していた。

原因

  • PowerShellのデフォルト文字コードがUS-ASCIIだったから。

解決策

  • プログラムの文字コードをShift_JISに変更する。
  • gccのオプションを追加する。12 Invocation
PS C:\> gcc .\test001.c -o .\test001.exe -fexec-charset='cp932'
  • 別のコマンドラインを使用する。
    • 特にcmdであれば以下のコマンドを打つことによりコマンドラインの文字コードをUTF-8に変更できる。
    chcp 65001
  • PowerShellの文字コードをUTF-8に変更する。(ベータを含むので余りおすすめできない)
    1. 以下のコマンドを打つ。about_Character_Encoding
    PS C:\> $OutputEncoding.encodingName
    US-ASCII
    PS C:\> $OutputEncoding = [System.Text.Encoding]::UTF8
    PS C:\> $OutputEncoding.encodingName
    Unicode (UTF-8)
    1. コントロールパネル
    2. 地域
    3. 管理タブ
    4. システムロケールの変更
    5. ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用にチェック

このブログを検索

内部リンク集

外部リンク集

連絡フォーム

名前

メール *

メッセージ *

QooQ