문자열 인코딩 변환기란?
문자열 인코딩 변환기는 텍스트와 텍스트 파일의 문자 인코딩을 UTF-8, UTF-8 BOM, UTF-16, ANSI, EUC-KR, CP949, Shift_JIS 등 다른 인코딩으로 변환하는 도구입니다. TXT, CSV, LOG, SQL, XML, JSON 같은 텍스트 기반 파일의 인코딩을 변경하거나, 문자열을 특정 인코딩의 바이트로 변환할 때 사용할 수 있습니다.
특히 CP949를 UTF-8로 변환하거나 ANSI를 UTF-8로 변환, EUC-KR 파일을 UTF-8로 변경, 일본어 Shift_JIS 파일 변환처럼 서로 다른 운영체제나 프로그램 사이에서 발생하는 한글 깨짐·문자 깨짐 문제를 해결할 때 유용합니다.
지원하는 문자 인코딩
일반적인 Unicode 인코딩부터 Windows 코드 페이지, 한글·일본어·중국어 인코딩, ISO-8859 및 DOS/OEM 계열 문자셋까지 다양한 텍스트 인코딩을 변환할 수 있습니다.
- Unicode: UTF-8, UTF-8 BOM, UTF-16 LE/BE, UTF-32 LE/BE
- 한국어: EUC-KR, CP949, MS949, Windows-949
- 일본어: Shift_JIS, CP932, EUC-JP
- 중국어: Big5, GB2312, GB18030
- Windows 코드 페이지: Windows-1250 ~ Windows-1258
- ISO 문자셋: ISO-8859 계열
- DOS/OEM 문자셋: CP437, OEM 850, 852, 866 등
파일 인코딩을 UTF-8로 변환하는 방법
오래된 프로그램에서 만든 TXT나 CSV 파일은 CP949, EUC-KR, ANSI 같은 인코딩으로 저장되어 있는 경우가 있습니다. 이런 파일을 UTF-8만 사용하는 프로그램에서 바로 열면 한글이나 특수문자가 깨져 보일 수 있습니다.
이 경우 파일의 원본 인코딩을 선택한 뒤 대상 인코딩을 UTF-8로 지정하여 변환하면 됩니다. 예를 들어, CP949 파일이라면 CP949 → UTF-8, EUC-KR 파일이라면 EUC-KR → UTF-8로 변환합니다.
ANSI를 UTF-8로 변환하려면?
오래된 Windows 프로그램이나 텍스트 파일에서는 파일 인코딩이 ANSI로 표시되는 경우가 많습니다. ANSI는 하나의 고정된 문자 인코딩이 아니라 Windows의 언어 환경에 따라 사용하는 코드 페이지가 달라질 수 있는 표현입니다.
한국어 Windows에서 만들어진 ANSI 파일은 일반적으로 CP949 계열일 가능성이 높습니다. 한글 ANSI 파일을 UTF-8로 변환하려면 CP949를 원본 인코딩으로 선택한 뒤 UTF-8로 변환해보세요. 영문이나 다른 언어 환경에서 만든 ANSI 파일이라면 Windows-1252 등 다른 코드 페이지일 수 있습니다.
CP949와 EUC-KR의 차이
EUC-KR은 한국어를 표현하기 위해 사용된 문자 인코딩이며, CP949는 EUC-KR에서 표현할 수 없는 한글을 추가로 지원하도록 확장된 Windows 계열 문자 인코딩입니다.
두 인코딩은 많은 한글 문자를 공통으로 표현하기 때문에 간단한 문장에서는 차이가 보이지 않을 수도 있습니다. 하지만 파일에 CP949에서만 표현 가능한 문자가 포함되어 있다면 EUC-KR로 잘못 읽었을 때 글자가 깨지거나 다른 문자로 표시될 수 있습니다.
UTF-8과 UTF-8 BOM의 차이
UTF-8과 UTF-8 BOM은 문자 자체를 저장하는 방식은 같습니다. 차이는 UTF-8 BOM 파일의 맨 앞에
EF BB BF 바이트가 추가된다는 점입니다.웹사이트나 개발 환경에서는 일반적으로 BOM 없는 UTF-8을 많이 사용하지만, 일부 문서 프로그램이나 CSV를 처리하는 프로그램에서는 UTF-8 BOM 파일을 더 잘 인식하기도 합니다. UTF-8 CSV의 한글이 깨진다면 UTF-8 BOM으로 변환해 확인해볼 수 있습니다.
CSV 한글 깨짐 원인과 해결 방법
CSV 한글 깨짐은 파일을 저장한 인코딩과 파일을 여는 프로그램이 사용하는 인코딩이 서로 다를 때 자주 발생합니다. 예를 들어, CP949로 저장된 CSV 파일을 UTF-8이라고 가정해 읽으면 이름, 주소, 상품명 등의 한글이 깨질 수 있습니다.
CSV 파일의 한글이 깨진다면 다음 인코딩을 우선 확인해보세요.
- 오래된 Windows 프로그램에서 만든 파일이라면 CP949
- 국내 레거시 시스템에서 만든 파일이라면 EUC-KR 또는 CP949
- 최신 프로그램에서 만든 파일이라면 UTF-8
- UTF-8인데 프로그램에서 한글이 깨진다면 UTF-8 BOM
단, CSV의 열이 밀리거나 쉼표와 따옴표가 잘못 구분되는 문제는 문자 인코딩이 아니라 CSV 형식이나 구분자 설정 문제일 수 있습니다.
TXT 파일 한글 깨짐 해결하기
텍스트 파일을 열었을 때 한글이 알 수 없는 문자나 이상한 기호로 표시된다면 파일이 손상된 것이 아니라 잘못된 인코딩으로 읽고 있을 가능성이 있습니다.
예를 들어, CP949 텍스트 파일을 UTF-8로 읽으면 글자가 깨질 수 있습니다. 원본 파일을 다시 불러온 뒤 CP949, EUC-KR, UTF-8 등의 인코딩을 선택해 미리보기에서 정상적인 한글이 나타나는지 확인하고 UTF-8 등 원하는 형식으로 변환하는 것이 좋습니다.
Shift_JIS를 UTF-8로 변환하기
일본에서 만들어진 오래된 CSV, 게임 데이터, 프로그램 설정 파일, 텍스트 문서에는 Shift_JIS가 사용된 경우가 있습니다. Shift_JIS 파일을 UTF-8로 잘못 읽으면 일본어가 깨져 보일 수 있습니다.
이런 파일은 원본 인코딩을 Shift_JIS로 선택한 뒤 UTF-8로 변환하면 최신 프로그램이나 웹 환경에서 사용하기 편한 UTF-8 텍스트 파일로 변경할 수 있습니다.
문자열을 바이트로 변환하는 경우
문자 인코딩에 따라 같은 글자라도 실제 파일에 저장되는 바이트 값은 달라집니다. 문자열을 바이트로 변환하면 UTF-8, CP949, Shift_JIS 등의 인코딩에서 문자가 어떤 16진수 HEX 바이트로 저장되는지 확인할 수 있습니다.
API 데이터 확인, 통신 전문 분석, 파일 포맷 분석, 개발 중 인코딩 오류 확인처럼 실제 문자와 바이트 값을 비교해야 할 때 활용할 수 있습니다.
깨진 글자를 복구할 수 있나요?
잘못된 문자 인코딩으로 읽어 깨진 문자열은 경우에 따라 원래 문자로 되돌릴 수 있습니다. 다만 복구 가능 여부는 원래 바이트 정보가 남아 있는지에 따라 달라집니다.
깨진 문자열에 �(U+FFFD)가 포함되어 있다면, 잘못 디코딩하는 과정에서 원래 바이트 일부가 이미 사라졌을 가능성이 있습니다. 이 경우 깨진 문자열을 다시 변환하는 것보다 원본 파일을 올바른 인코딩으로 다시 여는 방법이 가장 정확합니다.
인코딩 변환할 때 주의할 점
- 원본 인코딩을 잘못 선택하면 정상적인 파일도 글자가 깨질 수 있습니다.
- UTF-8과 같은 Unicode 인코딩은 다양한 문자를 표현할 수 있지만, EUC-KR, CP949, Windows-125x 같은 레거시 인코딩은 표현 가능한 문자가 제한됩니다.
- 대상 인코딩에서 지원하지 않는 문자는 ? 등으로 바뀌면서 원래 문자 정보가 사라질 수 있습니다.
- 자동으로 추정된 인코딩은 항상 정확한 것은 아니므로 변환 전 텍스트 미리보기를 확인하는 것이 좋습니다.
- 중요한 원본 파일은 인코딩 변환 전에 별도로 보관하는 것이 안전합니다.
자주 묻는 질문
- Q. CP949 파일을 UTF-8로 변환할 수 있나요?A. 네. 원본 인코딩을 CP949로 선택하고 대상 인코딩을 UTF-8로 선택하면 CP949 텍스트 파일을 UTF-8로 변환할 수 있습니다.
- Q. EUC-KR을 UTF-8로 변환할 수 있나요?A. 네. EUC-KR로 저장된 TXT, CSV 등의 텍스트 파일을 불러온 뒤 UTF-8로 변환할 수 있습니다.
- Q. ANSI 파일을 UTF-8로 변환하려면 어떤 인코딩을 선택해야 하나요?A. ANSI는 시스템 언어에 따라 실제 코드 페이지가 다릅니다. 한국어 Windows에서 만든 파일이라면 CP949일 가능성이 높으며, 영문 Windows 파일이라면 Windows-1252 등이 사용되었을 수 있습니다.
- Q. CSV 한글이 깨질 때 어떤 인코딩을 선택해야 하나요?A. 국내 Windows 프로그램에서 만든 CSV라면 CP949 또는 EUC-KR을 먼저 확인해보세요. UTF-8 파일을 특정 프로그램에서 열 때만 깨진다면 UTF-8 BOM으로 변환해 확인하는 방법도 있습니다.
- Q. UTF-8과 UTF-8 BOM 중 어떤 것을 사용해야 하나요?A. 일반적인 웹·개발 환경에서는 UTF-8을 사용하면 됩니다. CSV나 텍스트 파일을 사용하는 특정 프로그램이 UTF-8을 제대로 인식하지 못하는 경우에는 UTF-8 BOM을 사용할 수 있습니다.
- Q. UTF-8을 UTF-16으로 바꾸면 글자가 달라지나요?A. 정상적으로 지원되는 문자라면 화면에 보이는 내용은 같습니다. 대신 파일에서 문자를 표현하는 실제 바이트 구조와 파일 크기가 달라질 수 있습니다.
- Q. Shift_JIS 일본어 파일도 변환할 수 있나요?A. 네. Shift_JIS로 저장된 일본어 텍스트 파일을 UTF-8 등 다른 인코딩으로 변환할 수 있습니다.
- Q. 깨진 한글을 무조건 복구할 수 있나요?A. 아닙니다. 잘못된 인코딩으로 표시만 된 경우에는 복구할 수 있지만, 이미 � 문자로 대체되는 등 원본 바이트 정보가 손실됐다면 완전한 복구가 어려울 수 있습니다.



