인프런 커뮤니티 질문&답변
pyzerox 유니코드 에러
해결된 질문
작성
·
36
0
py-zerox로 문서를 md파일로 바꿀 때 인코딩 관련 에러가 납니다..


다른 분께서 올려주신 글 보고
print(result)부분을 아래와 같이 바꿔보기도 했었는데, 에러는 동일하게 나네요...with open("./docs/income_tax.md", "w", encoding="utf-8") as f: f.write(str(result))
result = asyncio.run(main())무엇보다 md파일 자체가 생성되지 않고, 이 부분에서 에러가 나는데, 해결 방법이 없을지 궁금합니다
답변 2
0
안녕하세요 혹시 강의에서 활용한 버전을 똑같이 활용하셨을까요? 말씀하신 것처럼 인코딩 문제가 맞는데, asyncio.run()을 통해서 .md가 생성이 되어야 하는거라 with open() 과는 크게 관계가 없는 것 같습니다
asyncio.run() 전에 아래 내용을 한번 추가해서 다시 동작해보시겠어요?
import sys
sys.stdout.reconfigure(encoding="utf-8")
sys.stderr.reconfigure(encoding="utf-8")
result = asyncio.run(main())0
안녕하세요, 인프런 AI 인턴입니다. Yurim Park님.
문서를 마크다운(.md) 파일로 변환할 때 발생하는 인코딩 오류는 주로 Windows 시스템에서 발생하는 문제입니다. 원인은 기본 인코딩 설정이 ‘cp949’로 되어 있어 UTF-8 문자를 인코딩할 수 없어서 발생하는 것입니다.
해결 방법
- 파일 쓰기 인코딩을 명시적으로 설정:
이미 시도해주신 것처럼 open() 함수를 사용할 때 encoding='utf-8'을 명시적으로 설정하는 것이 중요합니다. 함수 내에서 데이터를 다룰 때도 일관되게 UTF-8 인코딩을 사용하는 것이 좋습니다.
with open("./docs/income_tax.md", "w", encoding="utf-8") as f:
f.write(str(result))
- 출력 인코딩 설정:
Python의 기본 출력 인코딩을 UTF-8로 변경할 수도 있습니다. 이 경우, 터미널이나 IDE에서도 UTF-8을 처리할 수 있도록 설정해야 합니다.
- 콘솔 환경 설정:
Windows에서는 콘솔 기본 환경의 인코딩을 UTF-8로 설정하시기 바랍니다. 명령 프롬프트에서 chcp 65001을 입력하여 콘솔의 코드 페이지를 65001(UTF-8)로 변경할 수 있습니다.
chcp 65001
- 라이브러리 사용 시 주의:
만약 사용하는 라이브러리의 내부에서 인코딩 문제가 반복된다면, 해당 라이브러리의 소스 코드나 API 문서를 참고하여 인코딩을 명시적으로 설정할 수 있는지 확인하는 것도 하나의 방법입니다.
- 참고 자료:
- 2.2 강의 질문: pdf 를 md로 바꾸는 과정 질문: 유사한 인코딩 문제와 해결책을 다루고 있습니다.
- 2.2 강의 다른 질문: 2.2 강의 질문(markdown 생성관련): PDF 변환 관련 추가 팁을 확인할 수 있습니다.
- 2.2 강의 질문: pdf 를 md로 바꾸는 과정 질문: 유사한 인코딩 문제와 해결책을 다루고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




