能解简体 繁体 日语 韩语 ISO-8859-1等编码的 unescape PHP函数!谢谢
解决方案 »
- conn文件错误问题
- ajax检测用户名的问题,哪位帮我解决一下啊?
- 如果大家做网站大家觉得mysql好还是mssql好
- 一行输出多个数据怎么解决
- php的图像处理都有什么组件
- 怎样利用复选框控制控件的visible属性?
- php文件中的中文乱码该如何解决
- MySQL问题,在不破坏记录的前提下,如何从新排ID的顺序呢?
- 哪里能下到有这样酷界面的PHP+MySQL论坛
- 討論咨詢!! 寫网頁時寫 HTML 靜態頁面是很重要的,而且要寫的也很多,是不?? 不管用 PHP 還是 ASP 來達到動態都要用 HTML 靜態頁來表示結果
- HTML表单中文数据上传至数据库 出现乱码“???”
- 问个菜菜的问题,我这个PHP5到底与MySQL连接成功没有?
if($num<128)
return chr($num);
if($num<1024)
return chr(($num>>6)+192).chr(($num&63)+128);
if($num<32768)
return chr(($num>>12)+224).chr((($num>>6)&63)+128)
.chr(($num&63)+128);
if($num<2097152)
return chr(($num>>18)+240).chr((($num>>12)&63)+128)
.chr((($num>>6)&63)+128).chr(($num&63)+128);
return '';
}function unescape($strIn, $iconv_to = 'UTF-8') {
$strOut = '';
$iPos = 0;
$len = strlen ($strIn);
while ($iPos < $len) {
$charAt = substr ($strIn, $iPos, 1);
if ($charAt == '%') {
$iPos++;
$charAt = substr ($strIn, $iPos, 1);
if ($charAt == 'u') {
// Unicode character
$iPos++;
$unicodeHexVal = substr ($strIn, $iPos, 4);
$unicode = hexdec ($unicodeHexVal);
$strOut .= code2utf($unicode);
$iPos += 4;
}
else {
// Escaped ascii character
$hexVal = substr ($strIn, $iPos, 2);
if (hexdec($hexVal) > 127) {
// Convert to Unicode
$strOut .= code2utf(hexdec ($hexVal));
}
else {
$strOut .= chr (hexdec ($hexVal));
}
$iPos += 2;
}
}
else {
$strOut .= $charAt;
$iPos++;
}
}
if ($iconv_to != "UTF-8") {
$strOut = iconv("UTF-8", $iconv_to, $strOut);
}
return $strOut;
} //这个能简体.日语 ISO字符 但繁体解不了
function Unescape($str)
{
//$str=str_replace("%B4","´",$str);
//$str=str_replace("%F6","ö",$str);
$str = rawurldecode($str);
preg_match_all("/%u.{4}|&#x.{4};|&#\d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v)
{
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","utf-8",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","utf-8",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#") {
$ar[$k] = iconv("UCS-2","utf-8",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}//UNescape//这个能解繁体日语等语言 但解不了 ISO符号!