Codexで文字化けが起きる3つの原因【解決策や予防策も紹介】

Codexで文字化けする…
どうすればなおるんだろう…

Codexを使い始めたものの、文字化けに困っている人も多いですよね。

とくにWindows環境では、PowerShellの文字コード設定が原因で日本語が正しく表示されないケースがよくあります。

そこでこの記事では次の利用環境別に、Codexで文字化けする原因とその対処法を解説します。

文字化けを未然に防ぐ設定方法も紹介するので、ぜひ参考にしてください。

この記事の要約
  • Codexで文字化けが発生する主な原因はUTF-8とShift_JISなど文字コードの不一致
  • Windows環境ではPowerShell 7の利用やchcp 65001の設定で大半は解消できる
  • AGENTS.mdにUTF-8で処理するルールを記載しておくと文字化けの再発を防げる

『ClaudeCodeに興味はあるけど、どうやって使えばいいんだろう…』

そんな方へ、

  • ClaudeCodeに作業や仕事を任せる方法
  • ClaudeCodeを使いこなすたった1つのコツ
  • 業務効率化や収入獲得に活かすClaudeCodeの実演

を、無料のオンラインセミナーで凝縮してお伝えします!

パソコンはもちろん、スマホから気軽に参加OK。この時間が、あなたを変える大きなきっかけになりますよ。

\ スマホ参加OK!顔出し不要 /

目次

Codexで文字化けが起きる原因一覧

Codexで文字化けが起きる原因一覧

Codexの文字化けが発生する主な原因は、ターミナルやエディタの文字コード設定がUTF-8になっていないことです。また、利用しているCodex CLIや拡張機能のバージョンが古いことが原因になる場合もあります。

ここからは下記の環境別に、文字化けの原因を解説します。

CLIの場合

CLI版のCodexで文字化けが発生する主な原因は、Codex CLIのバージョンが古いケースがほとんどです。

初期のCodex CLIでは、日本語などのマルチバイト文字を正しく処理できない不具合が確認されていました。その後のアップデートで改善されていますが、Codex CLIは自動更新されないため古いバージョンを使い続けていると文字化けが発生することがあります。

たとえば、古いバージョンでは日本語のファイル名やコメントが正しく表示されず「□□□」のような文字列になるケースがありました。npmで最新版にアップデートするだけで解消するケースも多いため、まずはバージョンを確認してみてください。

CLI版の文字化けが発生した場合は、最初にCodex CLIを最新バージョンへ更新することをおすすめします。

Windowsの場合

Windows環境では、PowerShellの文字コード設定UTF-8になっていないことが文字化けの主な原因です。

Codex CLIはUTF-8で前提として出力します。一方で、Windows PowerShell 5.1では既定のコードページが932(Shift_JIS系)となっているため、UTF-8で出力された日本語を正しく解釈できず、文字化けが発生することがあります。

たとえば、Codexが生成した日本語のコメントや変数名が、ターミナル上で「繧ウ繝シ繝峨」のような意味不明な文字列として表示されるケースがあります。Windows 10・11以降でもPowerShell 5.1を利用している場合は、この問題が発生することがあります。

Windows環境の文字化けは、PowerShell側の文字コードをUTF-8に設定したり、PowerShell 7へ移行したりすることで解消できる場合がほとんどです。

VS Code拡張機能の場合

VS Code拡張機能での文字化けが発生する原因は、VS Codeの統合ターミナルPowerShell 5.1を使われていることや、Codex拡張機能のバージョンが古いことです。

VS Codeの統合ターミナルは、既定シェルを利用して起動します。Windowsの場合、PowerShell 5.1が設定されていることが多く、CLI版と同様に文字コードの不一致によって文字化けが発生することがあります。

また、Codex拡張機能を長期間更新していない場合は、不具合が修正されていない古いバージョンを利用している可能性があります。そのため、ターミナル設定だけを変更しても文字化けが解消されないケースがあります。

VS Codeでの文字化けが発生した場合は、既定のシェルをPowerShell 7へ変更し、あわせてCodex拡張機能も最新版へ更新すると解決しやすくなります。

【CLI】Codexの文字化けを解決する方法

【CLI】Codexの文字化けを解決する方法

CLI版Codexで発生する文字化けは、Codex CLIの更新AGENTS.mdへのUTF-8指定で改善できることがほとんどです。また、Gitで変更履歴を管理しておけば、万が一文字化けによってファイルが破損してもすぐに復旧が可能です。

ここからは、CLI版の文字化け解決方法を、3つにまとめて解説します。

Codex CLIを最新版に更新

文字化け対策として、まずはCodex CLIを最新版にアップデートすることです。

Codex CLIでは、日本語などのマルチバイト文字に関する不具合が継続的に修正されています。そのため、古いバージョンを利用している場合は、アップデートだけで文字化けが解消するケースも多くあります。

次のコマンドを実行すれば、最新版に更新できます。

```
npm update -g @openai/codex
```

更新後は`codex –version`でバージョン番号を確認してください。最新版でも文字化けが残る場合は、次のAGENTS.mdの設定に進みましょう。

まずは最新版への更新を試し、それでも解消しなければ追加の対策を行う流れがおすすめです。

更新後は、次のコマンドで現在のバージョンを確認しましょう。

```
codex --version
```

最新版でも文字化けが改善しない場合は、次に紹介するAGENTS.mdの設定を試してください。

まずはCodex CLIを最新版へ更新し、それでも改善しない場合に追加の対策を行うのがおすすめです。

AGENTS.mdにUTF-8を恒久追記

Codexが生成するファイルの文字コードを統一するには、AGENTS.mdにUTF-8で保存するルールを記載しておくことが有効です。

AGENTS.mdは、Codexがプロジェクト内で従うルールや開発方針を定義するファイルです。ここに文字コードのルールを記載しておくことで、日本語を含むファイルをUTF-8で扱うようCodexへ継続的に指示できます。

たとえば、プロジェクトルートのAGENTS.mdに次のようなルールを記載します。

“`
すべてのファイルはUTF-8(BOMなし)で保存すること。
日本語コメントや文字列リテラルも必ずUTF-8で出力すること。
“`

AGENTS.mdでルールを統一しておけば、チームメンバー全員が同じ設定でCodexを利用でき、プロジェクト全体で文字化けを防げます。

Gitで履歴を残し復旧可能に

文字化けによるファイル破損に備えて、Gitでこまめにコミットしておくことも重要です。

文字コードの不一致によって日本語部分が破損した場合でも、Gitで変更履歴を管理していれば、正常な状態へ簡単に戻せます。Codexを使った作業では、変更前の状態を保存しておくことで安心して編集を進められます。

Codexに作業を依頼する前に、次のコマンドで現在の状態を保存しておきましょう。

```
git add -A
git commit -m "Codex実行前のスナップショット"
```

万が一文字化けが発生した場合は`git diff`で変更箇所を確認し、必要に応じて`git restore`や`git checkout`などで元の状態へ戻せます。

Codexを利用する前後でコミットする習慣をつけておくと、文字化けだけでなく、予期しない変更が発生した場合にも安全に作業を進められます。

【Windows共通】Codexの文字化けを解決する方法

【Windows共通】Codexの文字化けを解決する方法

Windows環境で発生する文字化けは、ターミナルの文字コードをUTF-8に統一することで改善できます。PowerShellのバージョンを変更したり、コードページやエンコーディングを設定したりすることで、多くのケースを解決できます。

ここからはWindows環境での解決方法を、3つにまとめて解説します。

PowerShell 7を使う

最もおすすめの方法は、Windows PowerShell 5.1からPowerShell 7に切り替えることです。

PowerShell 7はUTF-8を前提とした動作になっているため、Codex CLIが出力する日本語を正しく表示できます。PowerShell 5.1で発生しやすい文字コードの不一致による文字化けを避けられるのが大きなメリットです。

PowerShell 7は次のコマンドでインストールできます。

```
winget install --id Microsoft.PowerShell --source winget
```

インストール後は、スタートメニューから「PowerShell 7」を起動してCodexを利用してください。PowerShell 5.1とは別アプリとしてインストールされるため、既存の環境に影響を与えることはありません。

PowerShell 7へ移行すれば、CodexだけでなくClaude CodeGemini CLIなど、UTF-8を前提としたCLIツールでも文字化けを防ぎやすくなります。

chcp 65001でUTF-8固定

PowerShell 7へ移行できない場合は、chcp 65001でコードページをUTF-8に切り替える方法が有効です。

chcpはWindowsのコンソールで使用するコードページを変更するコマンドです。65001はUTF-8を表すコードページ番号で、この設定を適用するとPowerShell 5.1でもUTF-8での表示が可能になります。

Codex CLIを起動する前に、次のコマンドを実行してください。

```
chcp 65001
```

ただし、この設定は現在のターミナルセッションだけ有効です。PowerShellを閉じると元に戻るため、毎回実行するのが面倒な場合は、PowerShellのプロファイルに登録して自動実行すると便利です。

```
# $PROFILE に追記
chcp 65001 > $null
```

PowerShell 5.1を利用し続ける必要がある環境では、比較的手軽に実践できる文字化け対策です。

OutputEncodingを明示指定

より確実に文字化けを防ぎたい場合は、chcp 65001とあわせてPowerShellのOutputEncodingUTF-8に設定しましょう。

PowerShellには、標準出力で使用する文字コードを制御するOutputEncodingがあります。コードページだけを変更しても、PowerShell内部のエンコーディング設定が異なると文字化けが発生することがあるため、両方を設定するのがおすすめです。

次のコマンドをPowerShellのプロファイルに追記してください。

```
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
```

$PROFILEの場所は、次のコマンドで確認できます。

```
echo $PROFILE
```

プロファイルが存在しない場合は、次のコマンドで作成できます。

```
New-Item -Path $PROFILE -Force
```

chcp 65001とOutputEncodingをあわせて設定しておくことで、PowerShell 5.1でもCodexの日本語をより安定して表示できるようになります。

【VS Code拡張機能】Codexの文字化けを解決する方法

【VS Code拡張機能】Codexの文字化けを解決する方法

VS Codeで発生する文字化けは、統合ターミナルの設定やCodex拡張機能のバージョンを見直すことで改善できます。CLI版やWindows共通の対策に加え、VS Code固有の設定も確認しましょう。

ここからはVS Code環境での解決方法を、3つにまとめて解説します。

既定シェルをPS7に統一

VS Codeの文字化けを防ぐには、統合ターミナルの既定シェルをPowerShell 7に変更するのがおすすめです。

Windows版のVS Codeでは、統合ターミナルにWindows PowerShell 5.1が設定されていることがあります。そのままCodexを利用すると、文字コードの違いによって日本語が正しく表示されない場合があります。

次の手順でシェルを変更してください。

  1. VS Codeの設定画面を開く(Ctrl + ,)
  2. 検索欄に「Terminal › Integrated: Default Profile: Windowsを検索する
  3. ドロップダウンから「PowerShell」(7系)を選択する

settings.jsonに直接記載する場合は、次のように書きます。

```json
{
  "terminal.integrated.defaultProfile.windows": "PowerShell"
}
```

設定を変更したらVS Codeを再起動し、統合ターミナルがPowerShell 7で起動していることを確認しましょう。

Codex拡張を最新版に更新

Codex拡張機能が古い場合は、最新版にアップデートすることで文字化けが改善することがあります。

Codex拡張機能では、日本語処理に関する不具合が継続的に修正されています。そのため、自動更新を無効にしている場合や、長期間更新していない場合は、最新バージョンへ更新することをおすすめします。

更新手順は次のとおりです。

  1. VS Codeの拡張機能パネルを開く(Ctrl + Shift + X)
  2. 「Codex」を検索して拡張機能を表示する
  3. 「更新」ボタンが表示されていればクリックする

更新後はVS Codeを再起動し、文字化けが解消されたか確認しましょう。また、自動更新を有効にしておけば、今後の不具合修正もスムーズに適用できます。

AGENTS.mdでUTF-8ルール化

VS CodeでCodexを利用する場合も、AGENTS.mdにUTF-8で保存するルールを記載しておくと、文字化けの再発防止につながります。

CodexはCLI版と同様に、プロジェクト内のAGENTS.mdを参照して動作します。ファイルの文字コードをUTF-8に固定するルールを明記しておけば、ファイル生成時の設定を統一しやすくなります。

たとえば、プロジェクトルートのAGENTS.mdに次のようなルールを記載するとよいでしょう。

“`
すべてのソースファイルはUTF-8(BOMなし)で保存する
コンソール出力もUTF-8を前提とする
日本語を含むファイル名は使用しない
“`

AGENTS.mdはGitで管理できるため、チーム全体で同じルールを共有できます。VS Code環境でCodexを使う場合は、必ずAGENTS.mdを用意しておきましょう。

対処してもCodexの文字化けが直らないときは

対処してもCodexの文字化けが直らないときは

ここまでの対策を試しても文字化けが解消しない場合は、Codex以外の環境要因を疑う必要があります。

まず確認したいのが、ターミナルで使用しているフォントです。日本語のグリフを十分にサポートしていないフォントを使用していると、文字コードが正しく設定されていても日本語が正常に表示されないことがあります。

Windows Terminalの既定フォント「Cascadia Mono」や「Cascadia Code」は日本語グリフを十分にサポートしていないため、日本語対応フォント(例:BIZ UDゴシックやMS ゴシックなど)に変更すると表示が安定しやすくなります。

次に、Windowsのシステムロケール設定を確認しましょう。確認手順は次のとおりです。

  1. コントロールパネルを開く
  2. 「時計と地域」→「地域」を選択する
  3. 「管理」タブ→「システムロケールの変更」をクリックする
  4. 「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」にチェックが入っているか確認する

ただし、この設定はシステム全体に影響するため、既存のアプリケーションとの互換性に影響する場合があります。変更する際は、利用しているソフトウェアへの影響も確認したうえで設定してください。

それでも改善しない場合は、Codex CLIだけでなく、ターミナルアプリやPowerShell、Node.jsのバージョンなどもあわせて確認しましょう。複数の要因が重なって文字化けが発生しているケースもあります。

また、問題が解決しない場合は、OpenAIのGitHubリポジトリでIssueを検索するのもおすすめです。同じ症状が報告されていれば、最新の回避策や修正状況を確認できます。

Codexの文字化けを未然に防ぐおすすめ設定

Codexの文字化けを未然に防ぐおすすめ設定

文字化けは、発生してから対処するよりも、事前に環境を整えて予防するほうが効率的です。一度設定しておけば、以降はCodexを快適に利用できます。

ここからは文字化けを未然に防ぐおすすめ設定を、3つにまとめて解説します。

OS側のシステムロケールを確認する

文字化けを防ぐためには、OS側のシステムロケール設定も確認しておきましょう。

Windowsでは「ベータ: ワールドワイド言語サポートで Unicode UTF-8 を使用」を有効にすることで、UTF-8を前提としたアプリケーションとの互換性が向上する場合があります。

設定手順は次のとおりです。

  1. コントロールパネルを開く
  2. 「時計と地域」→「地域」を選択する
  3. 「管理」タブ→「システムロケールの変更」をクリックする
  4. 「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」にチェックを入れる
  5. PCを再起動する

ただし、この設定はシステム全体に影響するため、一部の古いアプリでは表示や文字コードに関する問題が発生する場合があります。業務で使うソフトウェアへの影響を確認したうえで設定しましょう。

Codexへの指示文に含めるべき一文

Codexへ作業を依頼する際は、プロンプトにもUTF-8で保存するよう明記しておくと安心です。

AGENTS.mdでルールを記載していても、プロジェクト外で作業する場合や、一時的な作業では参照されないことがあります。プロンプト(指示文)にも文字コードを指定しておけば、より一貫した出力が期待できます。

たとえば、指示文の最後に次の一文を追加しておきましょう。

“`
生成するすべてのファイルはUTF-8(BOMなし)で保存してください。
“`

AGENTS.mdとプロンプトの両方でUTF-8を指定しておくことで、文字コードに関する設定漏れを防ぎやすくなります。

dotfiles/configで設定を共有する

チームでCodexを利用する場合は、設定ファイルをリポジトリで共有しておくことも効果的です。

開発メンバーごとにエディタやターミナルの設定が異なると、同じプロジェクトでも文字化けが発生する可能性があります。プロジェクトで使用する設定をあらかじめ共有しておけば、環境差によるトラブルを減らせます。

共有しておきたい設定ファイルの例は次のとおりです。

  • `.editorconfig`:文字コードや改行コードを統一する
  • `.vscode/settings.json`:VS Codeの統合ターミナルやエンコーディングの設定を管理する
  • `AGENTS.md`:Codexで守るルールを共有する

`.editorconfig`には次の内容を記載しておくのがおすすめです。

```
[*]
charset = utf-8
end_of_line = lf
```

また、dotfiles(PowerShellのプロファイルやGit設定など)をGitHubなどで管理している場合は、UTF-8関連の設定も含めておくと、新しい環境でも同じ設定をすぐに再現可能です。

設定ファイルをプロジェクト全体で共有しておけば、新しく参加したメンバーも同じ環境で作業でき、文字化けの発生を未然に防ぎやすくなります。

Codexのおすすめ設定を詳しく知りたい人は、次の記事を参考にしてください。

まとめ

本記事では、Codexの文字化けの原因と対処法を解説しました。

Codexの文字化けは、Codex自体の不具合だけが原因ではありません。多くの場合は、PowerShellやVS Codeなどの実行環境でUTF-8とShift_JISなどの文字コードが一致していないことが原因です。

そのため、Codex CLIを最新版へ更新したうえで、PowerShell 7の利用やAGENTS.mdへのUTF-8指定など、環境全体の設定を見直すことが根本的な解決につながります。

まずは自分の環境(CLI・Windows・VS Code)に合った対処法を1つ試し、文字コードをUTF-8に統一することから始めましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、AI・生成AIを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のAIプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/生成AI/AI・ロボット開発/プログラミング/Webデザイン

目次