function uniencode(text)
{
text = escape (text.toString()).replace(/ /g, "+");
var match = text.match(/(%([0-9A-F]{2}))/gi );
if (일치)
{
for (var matchid = 0; matchid < match.length; matchid )
{
var code = match[matchid].substring(1 ,3) ;
if (parseInt(code, 16) >= 128)
{
text = text.replace(matches[matchid], '%u00' code)
}
}
}
text = text.replace('%', '%u0025');
return text;
}
물론 서버는 encode the 문자열이 두 번째로 트랜스코딩됩니다.
function Convert_int_to_utf8($intval)
{
$intval = intval($intval)
switch($intval)
{
// 1바이트, 7비트
case 0:
return chr(0);
case($intval & 0x7F):
return chr($intval)
// 2바이트, 11 비트
케이스($intval & 0x7FF):
return chr(0xC0 | (($intval >> 6) & 0x1F))
chr(0x80 | ($intval & 0x3F));
/ / 3바이트, 16비트
case($intval & 0xFFFF):
return chr(0xE0 | (($intval >> 12) & 0x0F))
chr(0x80) | (($ intval >> 6) & 0x3F)) .
chr (0x80 | ($intval & 0x3F))
// 4바이트, 21비트
case ($intval & 0x1FFFFF ):
return chr(0xF0 | ($intval >> 18)) .
chr(0x80 | (($intval >> 12) & 0x3F))
chr(0x80 | (($intval > UTF-8 인코딩으로 변환됩니다. 이 방법은 다양한 서버 환경에 적합합니다.