Python mysql 작업 시 UnicodeEncodeError문제 해결할 때 unicode 지정하고 encode utf8로 해봤는데 잘 안 되네요...

조회수 59회
>>>result 출력값 
>>>{u'league': {u'cc': u'gb', u'id': u'94', u'name': u'\u82f1\u683c\u5170\u8d85\u7ea7\u8054\u8d5b'}, u'bet365_id': u'82381038', u'extra': {u'stadium_data': {u'city': u'Wolverhampton', u'capacity': u'30852', u'name': u'Molineux Stadium', u'country': u'England', u'googlecoords': u'52.590195,-2.131226', u'id': u'1272'}, u'home_manager': {u'cc': u'pt', u'id': u'5878', u'name': u'Nuno Espirito Santo'}, u'round': u'5', u'away_manager': {u'cc': u'gb', u'id': u'1216', u'name': u'Frank Lampard'}}, u'ss': None, u'away': {u'cc': u'gb', u'image_id': u'38', u'id': u'44000', u'name': u'\u5207\u5c14\u897f'}, u'time_status': u'0', u'time': u'1568469600', u'home': {u'cc': u'gb', u'image_id': u'3', u'id': u'17383', u'name': u'\u4f0d\u5c14\u5f17\u6c49\u666e\u987f'}, u'id': u'1644456', u'sport_id': u'1'}

>>>cursor.execute("INSERT INTO talbe ( colmun1 ) VALUES ('{}')".format(result))
>>> UnicodeEncodeError 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)

위의 result를 출력했을 때 나오는 저 딕셔너리 값을 INSERT해야하는데 어디 부분에 인코딩을 해서 넣어줘야할까요? 중문을 가져와서 하는데 인코딩에서 막혔습니다.

  • 저 에러 문구는 인코딩 관련 오류로 봤던 것 같은데 dictionary에 있는 값을 encode() 함수를 사용해서 utf-8로 변환한 뒤에 execute를 하면 어떨까 싶고...다른 하나는 DB 설정에서 utf-8로 설정하는 방법이 있었던 것 같은데 해 봐야 알것 같네요 태평장사꾼 2019.9.11 14:04

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.