본문 바로가기
리빙포인트

[python] SyntaxError: Non-UTF-8 code starting with '\xbe'

by amAToRoi 2022. 3. 21.
반응형

라즈베리파이(ARM 기반 리눅스)에서 작성하던 파이썬 스크립트를 윈도우10에서 실행하려다 에러메세지를 만났다. 잘 돌아가던 스크립트인데...

SyntaxError: Non-UTF-8 code starting with '\xbe'

'\xbe'로 시작하는 UTF-8 인코딩 방식이 아닌 문자가 등장했다는 에러로 보인다. 실제로 그런 문자를 쓴 적은 없지만, 파이썬이 스크립트 파일의 인코딩 방식에 따라 ANSI(ascii) 인 줄 알고 스크립트를 해석하다가 2 Byte 문자인 한글을 만나자 내가 작성한 한글주석의 첫 문자를 1 Byte 씩 나누어 해석하는 과정에서 오해가 발생한 듯 하다. 

해결방법: 코드 제일 위에 한 줄 추가
(UTF-8로 해석하라고 알려 주자)
# -*- coding: utf-8 -*-

주석처럼 보이지만, UTF-8에 맞춰서 잘 작성된 스크립트임을 유도(?)하는 안내문구이다. 위 방법 말고도, 스크립트 파일의 인코딩을 한글을 잘 인식하며 호환성이 좋은 UTF-8로 바꾸는 방법이 있다. 이는 작성하는 프로그램 별로 다를 테니 각자의 프로그램을 살펴보자.

반응형

댓글