PHP에서 iconv 사용가능 하여야 합니다.
function tostring($text) {
// return iconv('UTF-16LE', 'UTF-8', chr(hexdec(substr($text[1], 2, 2))).chr(hexdec(substr($text[1], 0, 2))));
return iconv('UTF-16LE', 'UHC', chr(hexdec(substr($text[1], 2, 2))).chr(hexdec(substr($text[1], 0, 2))));
}
function urlutfchr($text){
return rawurldecode(preg_replace_callback('/%u([[:alnum:]]{4})/', 'tostring', $text));
}
처리할 문서가 charset euc-kr 일경우 함수 tostring 에서 iconv 2번째인자를 "UHC" 로
utf8 일경우 "UTF-8"로 지정한다.
Ex
$escapeString = "%uC548%uB155%uD558%uC138%uC694"; // 자스에서 "안녕하세요"를 escape 한 문자열
$unEscapeString = urlutfchr($escapeString);
echo $unEscapeString;
// 출력결과
// 안녕하세요