知識マップ: WindowsでCodexの文字化け事故を減らす指示ルール

記事「WindowsでCodexの文字化け事故を減らす指示ルール」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

WindowsでCodexに日本語ファイルを扱わせるとき、鍵になるのは推測のままファイルを保存させないことです。CP932とUTF-8は同じバイト列を両立して正しく解釈できないため、読む前にBOMの有無や厳密UTF-8デコードでencoding候補を確認する手順が、実バイト列の解釈が本来のencodingとずれる事故を減らします。それでも見落とすと文字化けはファイル自体の破損として固定されるため、既存encodingの維持、encodingを明示する書き込み、保存後の再読込検証という作業ルールをAGENTS.mdに常設することが推奨されます。Windows PowerShell 5.1とPowerShell 7は既定の書き込みencodingが異なるため、曖昧な書き込み経路を避けることも欠かせません。

Codexの文字化け対策の知識マップCodexにAGENTS.mdで文字コードの作業ルールを与えることが、encoding解釈のずれや推測のままの保存によるファイル破損をどう防ぐか、CP932とUTF-8の非互換性やPowerShellの版によるencoding既定の違いとあわせて示す図で構成できる推奨される対応推奨される対応用いるのは非推奨推奨される対応推奨される対応推奨される対応用いるのは非推奨推奨される対応両立しないで確認できるで確認できる原因になり得る原因になり得る原因になり得る軽減するで確認できる利用する利用する利用する利用する利用するCodex文字化けAGENTS.md文字コードの作業ルール読む前のencoding/BOM/改行確認推測のままの保存既存ファイルのencoding維持方針encodingを明示する書き込み保存後の再読込検証曖昧な書き込み経路UTF-8化の別タスク化CP932UTF-8BOM(Byte Order Mark)厳密UTF-8デコード判定encoding解釈のずれ誤ったencoding解釈によるファイル破損U+FFFD(REPLACEMENT CHARACTER)Windows PowerShell 5.1ANSIコードページUTF-16PowerShell 7

概念間の関係(全22件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

Codex
OpenAIが提供する、リポジトリのファイルを実際に読み書きするコーディングエージェント。
文字化け
実際のバイト列の解釈が意図したencodingとずれ、表示や内容が壊れて見える状態。
AGENTS.md
リポジトリでの作業に対する常設の指示を書いておくMarkdownファイルで、ルートから作業ディレクトリへ向かって連結され、既定で合計32KiB程度で打ち切られる。
文字コードの作業ルール
既存ファイルを読む前の確認、推測のままの保存禁止、既存encodingの維持、encoding明示書き込み、保存後の再読込検証などをまとめた、Codexに与える作業手順の集合。
読む前のencoding/BOM/改行確認
日本語を含む既存ファイルを読む前に、encoding候補・BOMの有無・改行コードを確認する作業手順。
推測のままの保存
文字化けが疑わしいファイルについて、encoding解釈に自信が持てないまま上書き保存すること。
既存ファイルのencoding維持方針
既存ファイルを編集するときは元のencoding・BOM・改行コードを維持し、新規ファイルだけrepo規約に沿ったUTF-8系で作成する運用方針。
encodingを明示する書き込み
Set-Content -Encodingなど、書き込み時に使用するencodingを明示的に指定する方法。
保存後の再読込検証
保存後にファイルを再読込し、日本語の代表行が壊れていないか、置換文字や`?`が増えていないかなどを確認する作業手順。
曖昧な書き込み経路
リダイレクトやOut-Fileなど、encodingを明示しないままファイルへ書き込む経路。
UTF-8化の別タスク化
リポジトリ全体をUTF-8へ統一する変換は、通常の機能修正とは分離し、差分と影響範囲を見ながら進める独立したタスクとして扱う方針。
CP932
Windowsの日本語コードページ(コードページ番号932)。実務上はWindows版のShift_JISに近いが、他システムのShift_JIS実装と1バイトも違わない保証はない。
encoding解釈のずれ
見た目は読めているように見えるが、実際のバイト列の解釈がファイルの本来のencodingとずれている状態。
誤ったencoding解釈によるファイル破損
読めていない文字列を読めているものとして扱ったまま保存した結果、表示上の問題ではなくファイル自体の破損として固定される状態。
Windows PowerShell 5.1
Windowsに標準で同梱されている、.NET Framework上に構築されたレガシー世代のPowerShell(5.1系)のランタイム。実行ファイルはpowershell.exeで、.NETアプリからはMicrosoft.PowerShell.5.1.ReferenceAssembliesを介して呼び出せる。
PowerShell 7
PowerShell Core系譜の最新世代で、.NET(Core以降)上に構築されたPowerShellのエディション。実行ファイルはpwsh.exeで5.1のpowershell.exeとサイドバイサイドに共存し、Out-File・Set-Content・Export-Csvなどの既定書き込みencodingはBOMなしUTF-8である。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。