파이썬에서 mysqldb 라이브러리를 사용하여 쿼리 실행 시 아래와 같이 인코딩 에러가 발생한다.
Traceback (most recent call last):
File "write.py", line 46, in <module>
write_mujidog(title, "2")
File "write.py", line 29, in write_mujidog
cur.execute(sql)
File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 157, in execute
query = query.encode(charset)
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 559-561: ordinal not in range(256)
해결 방법은 매우 간단하다.
인코딩 타입이 맞지 않는경우이기 때문에 execute 함수 실행 전 간단하게 쿼리문을 utf8로 인코딩해주면 된다.
cur.execute(sql.encode('utf8'))
'Python' 카테고리의 다른 글
[python] paramiko 활용하여 SSH Client 활용 (0) | 2018.05.15 |
---|---|
[python] 텔레그램과 python 을 활용하여 서버 모니터링 및 제어하기 (0) | 2016.12.27 |
python 으로 XE mysql 쿼리로 자동 게시물 등록하기 (1) | 2016.12.25 |
python에서 bash 리눅스 명령어 실행 방법 (0) | 2016.12.10 |
python 에서 pushover 메시지 어플 사용하기 (0) | 2016.12.06 |