왜 그런 걸 하냐고 물으시면, 뭘 어디서부터 말해야 할지는 난감하지만, 브라우저나 운영체제에 따른 환경마다 특정 바이트 이상의 영역은 어떻게 처리될지 몰라서 다 똑같이 맞춰주려고 한다고 말씀드리겠습니다. 비슷한 예로는 메일을 보낼 때 인코딩하는 게 있는데 base64나 quoted-printable 등이 있습니다. UTF-8니 하는 것도 그런 이유로 생긴 겁니다.
가장 근원이 될만한 이유라면 ASCII겠죠. 저게 미국 표준이 아니고 대한민국 표준이었다면, 그래서 한글 영역을 포함한 문자셋이 아예 처음부터 문자 표현의 기준이 되었다면 상황이 달랐을지도. :)
It is encoded the same way that the posted data from a WWW form is encoded, that is the same way as in application/x-www-form-urlencoded media type. This differs from the RFC1738 encoding (see rawurlencode()) in that for historical reasons, spaces are encoded as plus (+) signs.
URL에서 값을 보장할 수 있게 바꾼 겁니다.
http://au.php.net/manual-lookup.php?pattern=encode&lang=en 에서 이름에 url 들어간 걸 살펴보세요.
왜 그런 걸 하냐고 물으시면, 뭘 어디서부터 말해야 할지는 난감하지만, 브라우저나 운영체제에 따른 환경마다 특정 바이트 이상의 영역은 어떻게 처리될지 몰라서 다 똑같이 맞춰주려고 한다고 말씀드리겠습니다. 비슷한 예로는 메일을 보낼 때 인코딩하는 게 있는데 base64나 quoted-printable 등이 있습니다. UTF-8니 하는 것도 그런 이유로 생긴 겁니다.
가장 근원이 될만한 이유라면 ASCII겠죠. 저게 미국 표준이 아니고 대한민국 표준이었다면, 그래서 한글 영역을 포함한 문자셋이 아예 처음부터 문자 표현의 기준이 되었다면 상황이 달랐을지도. :)
urlencode
http://kr.php.net/manual/en/function.urlencode.php
http://kr.php.net/manual/en/function.rawurlencode.php
It is encoded the same way that the posted data from a WWW form is encoded, that is the same way as in application/x-www-form-urlencoded media type. This differs from the RFC1738 encoding (see rawurlencode()) in that for historical reasons, spaces are encoded as plus (+) signs.
blah blah..
댓글 달기