본문 바로가기

Programming Language/PHP

[PHP] URL인코딩 & 디코딩

 

 

* URL에 공백이나 한글 같은 멀티바이트 문자가 포함되었다면, URL 인코딩이 필요합니다.

 

 

● URL 인코딩

 

: rawurlencode()와 urlencode()함수가 있습니다. 두 함수는 공백 문자를 취급하는 방법이 다릅니다.

rawurlencode()는 공백문자를 %20로 변환하고 urlencode()는 +로 변환합니다.

주로, urlencode()함수는 쿼리 문자열이나 쿠키값으로 사용하는 형식입니다.

 

 

$page변수에 인코딩을 해줄 페이지의 파일명을 값으로 넣줍니다.

$path변수에 실제 인코딩을 해주는 함수를 사용하고, 파라미터로 $page변수를 넣어줍니다.

$url 변수에 실제 URL의 도메인과 경로를 붙여서 만들어줍니다.

위처럼 멀티바이트문자가 인코딩 결과를 보실수있습니다.

 

 

 

 

 


 

 

 

● URL 디코딩

: 위에서 URL인코딩된것을 디코딩해주는 작업으로써, rawurldecode(), urldecode()함수로 디코딩해줄수있습니다.

 

처음 URL인코딩해주었던 값을 그대로 $encode변수에 저장해주니다.

그리고 $decode변수에 rawurldecode()함수를 호출해서 파라미터로 해당 변수를 넘겨줍니다.

출력해주면 처음 인코딩되기전의 값이 출력됩니다.