GitHub公開と文字コード事故との戦い — SCOUT × MulmoChat開発ログ
SCOUT用の MulmoChat 型インターフェースを GitHub に公開した。今回のプロジェクトは以下で公開しています。
👉 https://github.com/shuushoku5/scout-mulmochat
今回の目的は、 「LLMのfunction callをロボット運用UIに組み込む設計」を 実装レベルで公開することだった。 しかし、想定外のトラブルが発生した。文字化け問題
GitHubにpushしたREADMEが文字化けした。 ローカルでは正常に見えるのに、 GitHub上では蟇セ隧ア蝙九Ο繝懊ャ繝磯°
のような謎の文字列になってしまう。
最初はキャッシュを疑った。
しかし原因は違った。
原因:Windows × PowerShell × 文字コード
今回やった流れは:tar xzf scout_mulmochat.tar.gz
↓
PowerShellで置換処理
↓
Set-Contentで保存
↓
git push
問題はここだった。
(Get-Content README.md) -replace ... | Set-Content README.md
PowerShellはデフォルトで
UTF-16やShift-JISで保存することがある。
GitHubはUTF-8前提。
結果、文字化け。
学んだこと
① tar xzf は悪くない
Git Bash で展開した tar.gz 自体は問題なかった。② 問題は「保存時のエンコーディング」
PowerShellで保存するなら必ず:Set-Content -Encoding utf8
を指定する必要がある。
③ UTF-8(BOM) がWindowsでは安定
最終的には:[System.IO.File]::WriteAllText(..., New-Object System.Text.UTF8Encoding($true))
で BOM付きUTF-8 にして解決した。
修正手順
最終的な安全手順は:- 修正版 README をダウンロード
- PowerShellで UTF-8 指定保存
- git add / commit / push
- GitHubで Ctrl + F5 強制リロード
Windows開発での予防策
今後の運用ルール:- zipより git clone を使う
- tar展開は Git Bash か 7-Zip
- PowerShell保存は必ず
-Encoding utf8 - VS Codeでフォルダごと開く
- 文字コードを常にUTF-8に固定
今回の本質
これは単なる文字化けの話ではない。 研究開発では、 「再現性」 が極めて重要。 GitHub公開は 単にコードを置くことではなく、他人が同じ環境で再現できる状態にすることを意味する。 文字コード一つでそれは壊れる。
次の展開
今回のSCOUT × MulmoChatは、- 状態パネル型GUI
- LLM tool_use
- ROS service連携
- 説明可能なロボット操作
- 状態遷移の明文化
- 自己回復シナリオの体系化
- VPRとの統合
まとめ
今回の教訓:Windowsで研究開発をするなら 文字コードを舐めてはいけない。しかし、 このトラブルを含めて、 公開プロジェクトとして一段階進んだ。 GitHubは単なる保管庫ではなく、 思考と設計を可視化する場所だと実感した。





