<- all posts

nanoへのコピペでSyntaxError — ターミナルの文字化け問題

2026年4月22日

何が起きたか

VPS上でnanoエディタを開いてPythonコードを貼り付け、実行した。 File "monitor.py", line 1 ø≈import requests ^ SyntaxError: invalid character '≈' (U+2248) 1行目のimportの前にゴミ文字が混入していた。

原因

Webブラウザのチャット画面からコードをコピーし、ターミナルのnanoに直接ペーストした際に、不可視のUnicode文字が混入した。ブラウザのフォーマット情報やmacOSのクリップボードが付加するリッチテキスト情報が原因。

解決策: catコマンドでファイル作成

cat > monitor.py << 'SCRIPT'
import requests
import anthropic
# ... コード全体
SCRIPT

nanoを経由しないので、エディタ固有の文字化け問題を回避できる。

予防策

ファイル作成後に先頭数行を確認する。

head -3 monitor.py

ゴミ文字が入っていれば、この時点で見つかる。

学び