ai-coding-mines목차GitHub

heredoc으로 이모지를 밀어넣으면 스크립트가 죽는다

Windows · PowerShell

증상

셸 heredoc 안에 파이썬 코드를 쓰고 그 안에 이모지를 넣었더니 서러게이트 쌍이 깨져 스크립트가 죽는다.

원인

셸 → 파이썬으로 넘어가는 구간에서 인코딩이 한 번 더 갈린다. 경계마다 다른 규칙이 적용된다.

해법

  1. heredoc으로 밀어넣지 말고 파일에 쓴 뒤 실행한다
  2. 이스케이프 코드가 아니라 이모지 문자 그대로 넣는다

대량 패치를 heredoc으로 치지 않는 규율과 같은 이유다.