[에러#2] 한글 깨짐·경로 오류 (윈도우/맥 공통 해결 가이드)

한줄 요약:
출력창에 “����” 같은 글자가 떴다고 놀라지 마!
👉 인코딩, 콘솔 설정, 파일 저장 형식만 제대로 맞추면 바로 해결 💪


1. 가장 흔한 원인 요약

증상원인해결 핵심
print("안녕하세요") → 깨짐콘솔 인코딩 불일치UTF-8로 변경
파일 읽기/쓰기 시 깨짐encoding 지정 안 함encoding="utf-8"
파일 경로 오류한글 경로 처리 문제r"경로" 또는 절대경로 사용
엑셀에서 한글 깨짐CSV 인코딩 차이utf-8-sig로 저장

2. Step 1️⃣ 콘솔(터미널) 한글 깨짐 해결

🪟 Windows CMD / PowerShell

✅ 방법 A. UTF-8 코드페이지로 변경

chcp 65001

이 상태에서 다시 실행하면 print("안녕") 이 정상 표시돼요!
(단, 폰트는 “Consolas”나 “맑은 고딕” 등 유니코드 지원 폰트여야 함)

✅ 방법 B. 파이썬 출력 강제 UTF-8

set PYTHONIOENCODING=utf-8
python your_file.py

✅ 방법 C. VSCode / 파워쉘 설정

1️⃣ VSCode 터미널에서 “환경설정 > 출력 인코딩” → UTF-8
2️⃣ 터미널 재시작 후 정상 출력 확인


🍎 macOS / Linux

기본 UTF-8이기 때문에 대체로 깨지지 않음.
만약 터미널이 깨질 경우:

export PYTHONIOENCODING=utf-8

3. Step 2️⃣ 파일 읽기/쓰기 한글 깨짐

❌ 잘못된 코드

f = open("data.txt", "w")
f.write("안녕하세요")  # 깨짐 발생 가능!

✅ 올바른 코드

f = open("data.txt", "w", encoding="utf-8")
f.write("안녕하세요")
f.close()

✅ 더 좋은 방식 (자동 닫기)

with open("data.txt", "w", encoding="utf-8") as f:
    f.write("안녕하세요\n파이썬 파일 입출력 예제입니다.")

🧩 읽기 시에도 동일

with open("data.txt", "r", encoding="utf-8") as f:
    print(f.read())

4. Step 3️⃣ CSV / Excel에서 한글 깨짐

엑셀은 기본적으로 UTF-8이 아닌 CP949 (EUC-KR) 인코딩을 사용합니다.
그래서 utf-8로 저장하면 엑셀에서 깨져요 😭

✅ 해결 1: UTF-8-SIG로 저장

import csv

with open("data.csv", "w", newline="", encoding="utf-8-sig") as f:
    writer = csv.writer(f)
    writer.writerow(["이름", "점수"])
    writer.writerow(["가온", 95])

“utf-8-sig”는 BOM 헤더를 추가해서 엑셀이 정상 인식합니다.

✅ 해결 2: pandas 사용 시

df.to_csv("data.csv", index=False, encoding="utf-8-sig")

5. Step 4️⃣ 한글 경로 오류 해결 (파일 못 찾음)

❌ 오류 예시

FileNotFoundError: [Errno 2] No such file or directory: 'C:\사용자\가온\문서\data.txt'

✅ 해결

1️⃣ 경로 앞에 r(raw string) 붙이기:

path = r"C:\사용자\가온\문서\data.txt"

2️⃣ 슬래시 /로 통일:

path = "C:/사용자/가온/문서/data.txt"

3️⃣ 파일이 진짜 존재하는지 확인:

import os
print(os.path.exists(path))  # True면 정상

6. Step 5️⃣ IDE / 환경설정 점검

점검 항목
VSCode하단 상태바 “UTF-8” 표시 확인 / 없으면 클릭 → UTF-8로 재저장
PyCharmSettings → Editor → File Encoding → UTF-8
Jupyter Notebook노트북 상단 “Save with Encoding” → UTF-8
메모장저장 시 인코딩 “UTF-8” 선택 필수

7. Step 6️⃣ 폰트 문제일 수도 있다!

  • Windows 기본 폰트 “Raster Fonts”는 한글 지원 ❌
  • 변경 방법:
    1. CMD → 제목줄 우클릭 → 속성 → 글꼴
    2. “Consolas” 또는 “맑은 고딕” 선택

8. 종합 점검 체크리스트

  • 콘솔 인코딩이 UTF-8인지 (chcp 65001)
  • open()encoding="utf-8"을 지정했는지
  • 엑셀용 CSV는 utf-8-sig로 저장했는지
  • 파일 경로는 한글 대신 절대경로/raw string을 썼는지
  • 편집기 인코딩이 UTF-8로 되어 있는지

9. 요약 한 줄

파이썬에서 한글이 깨질 때는 UTF-8 + utf-8-sig + chcp 65001
이 세 가지면 거의 100% 해결된다 ✅


이전 강좌 👈 [에러#1] “pip가 안 돼요” 해결 체크리스트
다음 강좌 👉 [에러#3] ModuleNotFoundError: 모듈이 없다고 나올 때 대처법

댓글 남기기

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.