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
ゴミ文字が入っていれば、この時点で見つかる。
学び
- nanoへのコピペは文字化けリスクがある(特にブラウザ経由)
cat > file << 'EOF'方式はVPSでのスクリプト作成に最適- SyntaxErrorの文字コードに注目すれば原因が特定できる