Python을 배우는 데 도움이되는 프로젝트로 json 데이터를 사용하여 Reddit의 CMD 뷰어를 만들고 있습니다 (예 : www.reddit.com/all/). .json). 특정 게시물이 나타나고 인쇄하려고하면 (이 오류를 일으키는 것으로 가정합니다)Python에서 JSON 객체의 문자 ' u2019'를 인쇄 할 수 없습니다.
추적 (가장 최근 통화 마지막) : 파일 "C : \ Users \ nsaba \ Desktop \ reddit_viewer.py ", 줄 33, % % (i + 1, obj [ 'data'] [ 'score'], obj [ 'data'] [ '제목']))
파일 : 인코딩 복귀 codecs.charmap_encode (입력 self.errors, encoding_map에서 "C \ Python33 \ LIB \ 인코딩 \ cp437.py", 라인 19) [0] UnicodeEncodeError : 'charmap'코덱은 문자 '\ u2019'를 으로 인코딩 할 수 없습니다. 32 : 문자 매핑은
입니다.request = urllib.request.urlopen(url)
content = request.read().decode('utf-8')
jstuff = json.loads(content)
내가 위의 오류에 나와있는 데이터를 인쇄하는 데 사용하는 행 :
print ("%d. (%d) %s\n" % (i+1, obj['data']['score'], obj['data']['title']))
사람이 제안 할 수는 내가 잘못 갈 수있는 내가 데이터를 처리 할 경우 다음
은?
문제는 JSON 또는 코드의 다른 내용과 거의 관계가 없습니다. 'print ('\ u2019')'그냥 시도해보고 같은 오류가 발생하는지 확인하십시오. 그렇다면 문제는 터미널 ("DOS 상자")이 유니 코드 출력을 제대로 수행하도록 설정되어 있지 않아서 해결해야 할 문제입니다. – abarnert
네 말이 맞아. 여분의 데이터를 얻는 이유는 내가 가지고있는 정보가 아니라 내가 생각하는 것에 대한 질문을하는 법을 배웠기 때문입니다. –
그러나 문제를 나타내는 최소한의 완전한 예제를 게시해야합니다. 이것이 바로 [SSCCE] (http://sscce.org)의 전부입니다. 'print ('\ u2019')가 그것을 증명하기에 충분하다면, 더 복잡한 예제는 야생 거위 추격에 사람들을 인도 할 것입니다. 사람들이 "왜 그 캐릭터를 인쇄하고 싶습니까?"라고 물을지도 모른다는 걱정이 든다면, 그것을 설명하는 문맥을 추가 할 수 있습니다. 그러나 여전히 실제 문제로 이어집니다. – abarnert