별거 아니고 'GET방식 한글 파라미터'가 익스에선 깨지기 때문에 파라미터를 꼭 인코딩해서 보내야 한다.
javascript에서 예시.
...
window.location.href = "somepage.php"
+ "?param1=" + encodeURIComponent(param1)
+ "¶m2="+ encodeURIComponent(param2)
...
| cs |
encodeURIComponent 함수를 쓴 이유는 파라미터에 '&' 문자열이 포함될 경우 알아서 잘 처리해준다.
$pageUrl = "./somepage.php";
$pageUrl .= ("?param1=".urlencode($param1));
$pageUrl .= ("?param2=".urlencode($param2));
| cs |
가급적 꼭 파라미터별로 urlencode함수를 호출하는 것을 권한다.
파라미터를 받아올때는 별다른 작업이 디코딩을 할 필요는 없다.
$param1 = $_REQUEST["param1"];
$param2 = $_REQUEST["param2"];
| cs |
꼭 작업중일때 이를 염두하여 다 개발해놓고 소스를 전부 뒤져가면서 urlencode함수와 encodeURIComponent함수를 여기저기 호출하러 다니지 말자.
나중에 한번에 작업하다보면 내가 PHP를 하고 있는지 javascript를 하고 있는지 햇갈리다가 꼭 에러를 내고 야근을 한다.
댓글 없음:
댓글 쓰기