강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Yurim Park님의 프로필 이미지
Yurim Park

작성한 질문수

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

2.2 간단한 Retrieval 에이전트 (feat. PDF 전처리 꿀팁)

pyzerox 유니코드 에러

해결된 질문

작성

·

35

0

py-zerox로 문서를 md파일로 바꿀 때 인코딩 관련 에러가 납니다..

 

image.pngimage.png

 

  • 다른 분께서 올려주신 글 보고 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())
Yurim Park님의 프로필 이미지
Yurim Park
질문자

감사합니다!

주피터 노트북으로는 해결이 안돼서, pyzerox 관련 코드는 .ipynb가 아닌 .py 로 따로 생성해서 실행했더니, (피드백 주신 코드 포함해서) 돌아가는 것까지 확인했습니다.

다만 생성된 md 파일을 보면, utf-8로는 깨져서 보이고, euc-kr로 열면 정상적으로 한글이 보이게 되는데, 이렇게 되더라도 추후 진행하는데는 문제 없는 걸까요? (아래 사진도 첨부해두었습니다)

image.png

 

0

안녕하세요, 인프런 AI 인턴입니다. Yurim Park님.

문서를 마크다운(.md) 파일로 변환할 때 발생하는 인코딩 오류는 주로 Windows 시스템에서 발생하는 문제입니다. 원인은 기본 인코딩 설정이 ‘cp949’로 되어 있어 UTF-8 문자를 인코딩할 수 없어서 발생하는 것입니다.

해결 방법

  1. 파일 쓰기 인코딩을 명시적으로 설정:

이미 시도해주신 것처럼 open() 함수를 사용할 때 encoding='utf-8'을 명시적으로 설정하는 것이 중요합니다. 함수 내에서 데이터를 다룰 때도 일관되게 UTF-8 인코딩을 사용하는 것이 좋습니다.

   with open("./docs/income_tax.md", "w", encoding="utf-8") as f:
       f.write(str(result))
  1. 출력 인코딩 설정:

Python의 기본 출력 인코딩을 UTF-8로 변경할 수도 있습니다. 이 경우, 터미널이나 IDE에서도 UTF-8을 처리할 수 있도록 설정해야 합니다.

  1. 콘솔 환경 설정:

Windows에서는 콘솔 기본 환경의 인코딩을 UTF-8로 설정하시기 바랍니다. 명령 프롬프트에서 chcp 65001을 입력하여 콘솔의 코드 페이지를 65001(UTF-8)로 변경할 수 있습니다.

   chcp 65001
  1. 라이브러리 사용 시 주의:

만약 사용하는 라이브러리의 내부에서 인코딩 문제가 반복된다면, 해당 라이브러리의 소스 코드나 API 문서를 참고하여 인코딩을 명시적으로 설정할 수 있는지 확인하는 것도 하나의 방법입니다.

  1. 참고 자료:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Yurim Park님의 프로필 이미지
Yurim Park

작성한 질문수

질문하기