본문 바로가기

php

urlencode, urldecode

원래 인터넷은 영어권 환경에서 태어났기 때문에, 영어가 아닌 한글, 가나 ,한자 등을 표현하는데에는

부적합한 면이 있습니다.

따라서 UTF-8이 지원되지 않는 상황에서 한글을 처리하게 되면 에러를 발생하게 됩니다.

 

그렇기 때문에 한글의 경우 urlencode 함수를 통해 문자열을 인코딩 합니다.

 

urlencode

(PHP 4, PHP 5)

urlencode문자열을 URL 인코드

설명

string urlencode ( string $str )

이 함수는 URL의 쿼리 부분에 사용할 수 있도록 문자열을 인코드할 때 편리합니다. 다음 페이지로 편하게 변수를 전달할 수 있습니다.

인수

str

인코드할 문자열.

반환값

-_.을 제외한 모든 영숫자가 아닌 문자를 퍼센트(%) 사인에 이어지는 두 16진수로 교체하고 공백은 플러스(+) 사인으로 교체한 문자열을 반환합니다. 이는 WWW 폼에서 인코드한 포스트 데이터, application/x-www-form-urlencoded 매체형과 같은 방식의 인코드입니다. 역사적인 이유로 공백을 더하기 부호(+)로 인코드 하는 점이 » RFC 1738 인코딩(rawurlencode() 참고)과 다릅니다.

 

 

인코딩한문자는 님이 알고계신대로 %ED%97 이런 형태로 저장이 되며,

인코딩한 문자를 다시 한글로 돌릴때는 urldecode를 사용합니다.

 

urldecode

(PHP 4, PHP 5)

urldecodeURL 인코드된 문자열을 디코드

설명

string urldecode ( string $str )

주어진 문자열의 %## 인코딩을 디코드합니다.

인수

str

디코드할 문자열.

반환값

디코드한 문자열을 반환합니다.

 

주의사항

:자동 전역 $_GET$_REQUEST는 이미 디코드되어 있습니다. $_GET$_REQUEST에 들어있는 원소에 urldecode()를 사용하면 기대하지 않았던 위험한 결과가 나올 수 있습니다


'php' 카테고리의 다른 글

Cookie 와 Session  (0) 2009.12.08
$_SERVER["HTTP_REFERER"] 란?  (0) 2009.12.08
substr_count 함수  (0) 2009.12.08
php 날짜 함수 관련  (0) 2009.12.04
php xml parser  (0) 2009.11.27