인코딩 테스트
UTF-8 (BOM 없음) · UTF-8 BOM 포함 · Shift_JIS · CP932 각 문자 코드의 CSV 테스트 파일을 무료 다운로드. 글자 깨짐 검증이나 임포트 테스트에.
UTF-8 (BOM 없음) 의 CSV 테스트 파일
utf8.csv / 659 B
UTF-8 (BOM 포함) 의 CSV 테스트 파일
utf8-bom.csv / 662 B
Shift_JIS 의 CSV 테스트 파일
sjis.csv / 514 B
CP932 (기종 의존 문자 포함) 의 CSV 테스트 파일
cp932.csv / 518 B
문자 인코딩 테스트의 중요성
일본어를 포함한 CSV는 인코딩 차이로 문자 깨짐이 자주 발생합니다. Excel에서는 BOM 포함 UTF-8이 권장되는 등 도구마다 대응이 다릅니다.
이러한 테스트 파일로 CSV 임포트 기능과 텍스트 처리 라이브러리가 각 인코딩을 올바르게 처리하는지 검증하세요.
주요 인코딩의 특징
- UTF-8: 가장 일반적. 대부분 프로그래밍 언어의 기본.
- UTF-8 BOM: Excel에서 일본어 CSV를 열 때 권장. 선두에 EF BB BF 3바이트.
- Shift_JIS: Windows 환경에서 널리 사용. 일부 문자(〜, −)에서 문제 발생.
- CP932: Shift_JIS 확장. 髙, 﨑 등 기종 의존 문자 지원.
📖 자주 걸리는 지점
같은 내용을 UTF-8 (BOM 있음 / 없음), Shift_JIS, CP932 등 여러 문자 코드로 써 낸 파일입니다. 읽는 쪽이 어느 것을 올바르게 다루는지 한 세트로 확인할 수 있습니다. 다만 깨지지 않았다는 것이 판정에 성공했다는 뜻은 아닙니다. 우연히 맞은 것일 수 있습니다.
| 사례 | 무슨 일이 일어나는가 | 어떻게 하면 되는가 |
|---|---|---|
| Excel 로 열면 일본어가 깨진다 | Excel 은 BOM 이 없는 UTF-8 CSV 를 OS 로케일 (일본어 Windows 라면 CP932) 로 읽습니다. 파일 자체는 올바르고 읽는 방법이 다를 뿐입니다. | Excel 에 넘길 CSV 는 UTF-8 BOM 포함 (EF BB BF) 으로 써 냅니다. BOM 있음 / 없음 둘 다 이 목록에서 시험해 어느 쪽이 깨지는지 확인하세요. |
| Shift_JIS 인 줄 알았는데 CP932 였다 | CP932 는 Shift_JIS 에 ① ㈱ Ⅲ 같은 기종 의존 문자를 더한 Microsoft 확장입니다. 엄격한 Shift_JIS 디코더는 거기서 예외를 던집니다. |
일본어 Windows 가 내보내는 CSV 는 사실상 전부 CP932 라고 보고, 디코더도 CP932 (PHP 는 SJIS-win, Python 은 cp932) 를 지정합니다. |
| 자동 판정에 맡겼더니 짧은 행에서 틀렸다 | mb_detect_encoding 이나 chardet 는 통계적인 추측입니다. 수십 바이트뿐인 행이나 ASCII 만인 행에서는 원리적으로 정할 수 없습니다. |
가능하면 추측하게 하지 말고 사용자가 고르게 합니다. 이미 깨진 텍스트를 되돌리려면 문자 깨짐 복구에서 후보를 뽑아 고르는 편이 확실합니다. |
잘못된 문자 코드로 읽기만 했다면 되돌릴 수 있지만, 그 상태로 다시 저장하면 되돌릴 수 없습니다. 대체 문자 (U+FFFD) 나 ? 가 된 시점에서 원래 바이트는 사라졌습니다. 가져오기 처리에서는 변환 전 원본 데이터를 어딘가에 남겨 두면 구제할 수 있습니다.