기타

한글 URL이 깨지는 이유와 퍼센트 인코딩 해결법

카카오톡이나 문자로 링크를 공유했는데 한글이 이상한 문자로 바뀌어 있는 경험, 다들 있으시죠? 오늘은 왜 한글 URL이 깨지는지, 그리고 어떻게 해결하는지 알아보겠습니다.

URL에서 한글이 깨지는 이유

웹 주소(URL)는 원래 영문 알파벳, 숫자, 일부 특수문자만 사용할 수 있게 설계되었습니다. 한글이나 다른 언어는 직접 사용할 수 없어서, 컴퓨터가 알아들을 수 있는 형태로 변환해야 합니다. 이 과정을 URL 인코딩 또는 퍼센트 인코딩이라고 부릅니다.

퍼센트 인코딩이란?

한글 "안녕"을 URL에 넣으면 "%EC%95%88%EB%85%95"처럼 변환됩니다. 이게 바로 퍼센트 인코딩입니다. 각 한글 문자가 UTF-8 코드로 변환되고, 그 코드가 %XX 형태로 표현되는 것입니다.

인코딩이 필요한 상황

  • 검색 결과 URL 공유할 때
  • 파일명에 한글이 포함된 다운로드 링크
  • GET 방식으로 한글 데이터 전송 시
  • API 요청에 한글 파라미터 포함 시

직접 인코딩하기

매번 수동으로 변환하기 어려우니 URL 인코딩 도구를 활용하면 편합니다. 한글을 입력하면 바로 인코딩된 결과를 얻을 수 있고, 반대로 인코딩된 문자를 다시 한글로 디코딩하는 것도 가능합니다.

개발자를 위한 팁

JavaScript에서는 encodeURIComponent(), Python에서는 urllib.parse.quote() 함수를 사용합니다. 하지만 빠르게 결과만 확인하고 싶을 때는 온라인 URL 인코더가 더 편리합니다.

주의사항

전체 URL을 인코딩하면 안 됩니다. http:// 부분까지 인코딩하면 링크가 작동하지 않습니다. 인코딩은 파라미터 값이나 경로의 한글 부분에만 적용해야 합니다. 퍼센트 인코딩 변환기를 사용할 때도 필요한 부분만 선택적으로 변환하세요.