urlencode에도 여러 종류가 있나요? 정보
urlencode에도 여러 종류가 있나요?
본문
%uB300%uD559%uB85C %uB9DB%uC9D1
리퍼러를 보니까 이런 식으로 %뒤에 5글자가 붙은 형식으로 된 것이 있네요.
%## 형식이라면 urldecode()를 사용하면 될텐데, 이건 어떻게 해줘야 할지 모르겠어요.
혹시 아시는 분 있나요~?
추천
0
0
댓글 4개

각 언어별로 인코딩 결과가 틀리게 나옵니다.
u 가 들어간건 유니코드 인코딩입니다.
u 가 들어간건 유니코드 인코딩입니다.

명랑폐인님 감사합니다!
그런데 이건 디코딩을 어떻게 해야 할지 모르겠네요 ㅜㅜ
그런데 이건 디코딩을 어떻게 해야 할지 모르겠네요 ㅜㅜ

php.net을 조금 찾아봤더니.. 필요한 함수가 있네요.. 테스트 코드입니다.
<?php
$ori = "%uB300%uD559%uB85C%uB9DB%uC9D1";
echo "ori : $ori <br>";
$dest = utf8_urldecode($ori);
echo "dest : $dest <br>";
//ecukr로 변환할 경우
$dest_euckr = iconv("utf-8", "euc-kr", $dest);
echo "dest_euckr : $dest_euckr <br>";
function utf8_urldecode($str) {
$str = preg_replace("/%u([0-9a-f]{3,4})/i","\\1;",urldecode($str));
return html_entity_decode($str,null,'UTF-8');;
}
?>
<?php
$ori = "%uB300%uD559%uB85C%uB9DB%uC9D1";
echo "ori : $ori <br>";
$dest = utf8_urldecode($ori);
echo "dest : $dest <br>";
//ecukr로 변환할 경우
$dest_euckr = iconv("utf-8", "euc-kr", $dest);
echo "dest_euckr : $dest_euckr <br>";
function utf8_urldecode($str) {
$str = preg_replace("/%u([0-9a-f]{3,4})/i","\\1;",urldecode($str));
return html_entity_decode($str,null,'UTF-8');;
}
?>

앗 그 함수가 그 함수군요!!
명랑폐인님 정말 감사합니다.^^
명랑폐인님 정말 감사합니다.^^