본문으로 건너뛰기
글자방

URL 인코딩/디코딩한글 주소 깨짐 풀기

주소에 들어간 한글·공백·특수문자를 퍼센트 인코딩하고, %EC%95%88처럼 깨져 보이는 주소를 한글로 풉니다. 옛 사이트의 EUC-KR 주소도 풉니다.

이 기기 밖으로 나가지 않아요

푼 글

여기에 결과가 나와요

글자 인코딩

URL 인코딩/디코딩 사용법

디코딩에 주소를 붙여 넣으면 한글로 풀고, 주소 모양이면 프로토콜·호스트·경로·쿼리 값을 나눠서 보여 줍니다. 인코딩은 쓰임새에 따라 값 하나 / 주소 전체 / 폼 방식 중에서 고르세요.

바꾸는 방법

  • 영문·숫자와 - _ . ~ 는 그대로 두고, 나머지는 UTF-8 바이트마다 %와 16진수 두 자리로 적습니다(안 → %EC%95%88).
  • 풀 때는 %XX를 바이트로 모은 뒤 UTF-8(또는 EUC-KR)로 읽습니다. % 뒤가 16진수 두 자리가 아니면 위치를 알려 줍니다.

자주 묻는 질문

주소를 복사하면 한글이 %EC%95%88처럼 깨져요.

깨진 것이 아니라 주소에 쓸 수 없는 글자(한글·공백 등)를 UTF-8 바이트마다 %XX로 적은 '퍼센트 인코딩'입니다. 디코딩에 붙여 넣으면 원래 한글로 풀어 줍니다.

공백이 %20일 때와 + 일 때는 무엇이 다른가요?

주소의 경로나 encodeURIComponent는 공백을 %20으로, HTML 폼과 URLSearchParams(application/x-www-form-urlencoded)는 + 로 적습니다. 그래서 풀 때 + 를 공백으로 볼지 고를 수 있게 했습니다. 실제 + 기호는 폼 방식에서 %2B로 적힙니다.

%B0%A1처럼 풀리지 않는 주소가 있어요.

옛 한국 사이트는 한글을 EUC-KR 바이트로 인코딩했습니다(%B0%A1 = 가). 글자 인코딩을 'EUC-KR(옛 사이트)'로 바꾸면 풀립니다.

'값 하나'와 '주소 전체'는 언제 쓰나요?

검색어처럼 주소 안에 넣을 값 하나는 '값 하나'(encodeURIComponent)로 & = / ? 까지 바꿔야 주소가 망가지지 않습니다. 이미 완성된 주소 전체를 안전하게 만들 때는 구분 글자를 그대로 두는 '주소 전체'(encodeURI)를 씁니다.

기준과 출처 (확인일 2026-10-01)