SpinFlow 블로그 · 2026-03-22

URL 인코딩 완벽 가이드: 한글 주소가 %EC%95%88%EB%85%95이 되는 이유

URL에서 한글이 이상한 문자로 변하는 이유, 퍼센트 인코딩의 원리, 개발자가 꼭 알아야 할 URL 인코딩·디코딩 완벽 가이드입니다.

글 요약

URL에서 한글이 이상한 문자로 변하는 이유, 퍼센트 인코딩의 원리, 개발자가 꼭 알아야 할 URL 인코딩·디코딩 완벽 가이드입니다. 본문은 브라우저에서 전체 내용과 함께 표시됩니다.

브라우저 주소창에서 한글을 입력하면 %EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94처럼 변하는 걸 본 적 있나요? 이것이 퍼센트 인코딩(Percent Encoding), 즉 URL 인코딩입니다. 무료 URL 인코더/디코더로 즉시 변환해보세요.

왜 URL에서 한글이 깨지는가?

URL은 ASCII 문자만 안전하게 전송할 수 있도록 설계되었습니다. 한글, 띄어쓰기, 특수문자(& = ? # 등)는 URL에서 특별한 의미를 가지거나 ASCII 범위를 벗어나기 때문에 반드시 인코딩해야 합니다.

URL 인코딩이 필요한 실전 상황

쿼리 파라미터

검색어에 특수문자·한글 포함 시 — ?q=%EC%84%9C%EC%9A%B8

API 요청

REST API 경로에 한글 파라미터 전달 시

폼 데이터

HTML form이 POST로 데이터를 전송할 때 자동 인코딩

파일 경로

파일명에 공백·한글이 포함된 URL 생성 시

encodeURI vs encodeURIComponent 차이

encodeURI(url)

URL 전체를 인코딩. : / ? # & 등 URL 구조 문자는 유지

encodeURIComponent(value)

파라미터 값 인코딩. URL 구조 문자까지 모두 인코딩 → 쿼리스트링 값에 사용

URL 인코딩 실전 예제

한글 검색어

검색어: '서울 맛집' → ?q=%EC%84%9C%EC%9A%B8+%EB%A7%9B%EC%A7%91

이메일 주소

user@example.com → user%40example.com (%40 = @)

공백 처리

공백은 + 또는 %20으로 인코딩 (폼 데이터는 +, URL 경로는 %20)

슬래시 포함 값

2024/01/15 → 2024%2F01%2F15 (%2F = /)

언어별 URL 인코딩 함수

JavaScriptencodeURIComponent(str) — 쿼리 파라미터 값
Pythonurllib.parse.quote(str) / urllib.parse.urlencode(dict)
JavaURLEncoder.encode(str, StandardCharsets.UTF_8)
PHPurlencode($str) — 폼 데이터 / rawurlencode($str) — URL 경로

SpinFlow URL 인코더/디코더로 클릭 한 번에 변환하세요. 한글, 이모지, 특수문자 모두 지원합니다.

관련 도구와 참고 자료