[개발/PHP] web php unicode 문자열 urldecode
문자열 : %uXXXX
<?php
function decode_unicode_url($str)
{
$res = '';
$i = 0;
$max = strlen($str) - 6;
while ($i <= $max)
{
$character = $str[$i];
if ($character == '%' && $str[$i + 1] == 'u')
{
$value = hexdec(substr($str, $i + 2, 4));
$i += 6;
if ($value < 0x0080) // 1 byte: 0xxxxxxx
$character = chr($value);
else if ($value < 0x0800) // 2 bytes: 110xxxxx 10xxxxxx
$character =
chr((($value & 0x07c0) >> 6) | 0xc0)
. chr(($value & 0x3f) | 0x80);
else // 3 bytes: 1110xxxx 10xxxxxx 10xxxxxx
$character =
chr((($value & 0xf000) >> 12) | 0xe0)
. chr((($value & 0x0fc0) >> 6) | 0x80)
. chr(($value & 0x3f) | 0x80);
}
else
$i++;
$res .= $character;
}
return $res . substr($str, $i);
}
?>
Simple test with japanese characters,
combined with urldecode:
<?php
$str = decode_unicode_url('%u65E5%u672C%u8A9E');
print(mb_convert_encoding(urldecode($str), "sjis", "euc-jp, utf-8, sjis") . '<br/>');
?>
'IT-개발,DB' 카테고리의 다른 글
[개발/VC++] CreateThread(), _beginthread(), _beginthreadex() 에 관하여 (0) | 2014.02.04 |
---|---|
[html] 태그로 테이블 모서리를 둥글게 (0) | 2014.01.21 |
[개발/트위터] 트위터 twitter api 사용하기 (0) | 2014.01.21 |
[IT/인터넷] 블로그에 사용할 이미지 구하기 CC Search (0) | 2013.10.17 |
[개발/가상머신] 버추얼박스를 이용한 가상PC와 호스트PC간 통신 설정 (0) | 2013.06.14 |
댓글