자막 인코딩 변환기

자막에 � 표시나 알 수 없는 글자가 보인다면, 플레이어가 예상하는 것과 다른 옛 인코딩으로 저장된 파일인 경우가 대부분입니다. 고른 인코딩으로 파일을 다시 읽어 UTF-8로 저장합니다. 파일은 브라우저 밖으로 나가지 않습니다.

자막 파일 인코딩 복구

자막 파일(.srt, .vtt, .ass, .smi…)을 업로드하면 인코딩을 복구합니다.

사용 방법

  1. 자막 파일을 올립니다. .srt, .vtt, .ass, .ssa, .sbv, .sub, .smi, .txt를 받습니다.
  2. 파일이 올바른 UTF-8이면 UTF-8을, 아니면 � 표시가 가장 적게 나오는 옛 인코딩을 먼저 골라 둡니다. 이 추측은 틀릴 수 있습니다.
  3. 미리보기가 제대로 읽힐 때까지 원본 인코딩을 바꿔 봅니다.
  4. UTF-8로 내려받기를 누릅니다. 확장자는 그대로 두고 이름 뒤에 -utf8을 붙이므로 movie.smi는 movie-utf8.smi가 됩니다.

파일에 하는 일

  • 읽을 수 있는 인코딩은 UTF-8, EUC-KR/CP949, Shift-JIS, GB2312/GBK/GB18030, Big5, Windows-1252/Latin-1, Windows-1251입니다.
  • 저장한 파일에는 BOM(바이트 순서 표시)이 없습니다. 바뀌는 것은 인코딩뿐이고 자막 형식, 시간, 내용은 그대로입니다.

언어별 옛 인코딩

UTF-8이 널리 쓰이기 전에는 언어마다 다른 인코딩으로 자막을 저장했습니다. 마지막 칸은 그런 파일의 예시 단어를 UTF-8로 읽었을 때의 모습입니다.

언어옛 인코딩UTF-8로 읽으면
한국어EUC-KR / CP949안녕하세요 → �ȳ��ϼ���
일본어Shift-JISこんにちは → ����ɂ���
중국어 간체GB2312 / GBK / GB18030你好世界 → �������
중국어 번체Big5繁體中文 → �c�餤��
서유럽어Windows-1252 / Latin-1café → caf�
키릴 문자Windows-1251Привет → ������

글자가 깨지는 이유

자막 파일에는 바이트가 저장되어 있고, 각 바이트가 어떤 글자인지는 인코딩이 정합니다. EUC-KR로 저장한 한국어 파일을 UTF-8로 열면 바이트 배열이 UTF-8 규칙에 맞지 않아 �로 표시됩니다.

반대 경우도 있습니다. UTF-8 파일을 Windows-1252로 읽는 프로그램에서는 café가 café로 보입니다. 이때 파일은 멀쩡하고 이 도구에서도 UTF-8로 표시되므로, 프로그램 쪽에서 UTF-8로 읽도록 설정해야 합니다.

자주 묻는 질문

미리보기가 읽히긴 하는데 한자로 나옵니다.
동아시아 인코딩은 쓰는 바이트 범위가 겹쳐서, EUC-KR로 저장한 한국어 파일을 GB18030이나 Big5로 읽으면 뜻 없는 한자가 됩니다. 한국어 파일이라면 EUC-KR / CP949를 고릅니다.
변환했는데도 플레이어에서 글자가 깨집니다.
오래된 플레이어나 TV 중에는 파일 맨 앞에 BOM이 있어야 UTF-8로 알아보는 기기가 있는데, 이 도구는 BOM 없이 저장합니다. 플레이어의 자막 설정에서 인코딩을 UTF-8로 바꿔 봅니다.
SMI 파일도 SRT로 바뀌나요?
아니요. 형식과 확장자는 그대로 두고 인코딩만 바꾸므로 .smi 파일은 UTF-8 .smi 파일로 나옵니다.
텍스트를 붙여 넣어서 고칠 수는 없나요?
없습니다. 붙여 넣는 순간 브라우저나 편집기가 이미 글자로 바꾼 상태라 원래 바이트가 남아 있지 않습니다. 파일을 그대로 올려야 합니다.