GitHub公開と文字コード事故との戦い — SCOUT × MulmoChat開発ログ

著者:副業の宮殿|製造業に携わる現役エンジニア。技術士試験対策書籍をKindleで複数出版。技術ブログ「副業の宮殿」にて製造業DX・AI活用の情報を発信中。

 

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 にして解決した。


修正手順

最終的な安全手順は:

  1. 修正版 README をダウンロード
  2. PowerShellで UTF-8 指定保存
  3. git add / commit / push
  4. 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は単なる保管庫ではなく、
思考と設計を可視化する場所だと実感した。

 

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

この記事を書いた人

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次