<script language=javascript>
function fun(param)
{
alert(param);
alert(decodeURIComponent(param)); //字符编码不对
alert(unescape(param)); //未正确解码
}
</script>
<?
$value = "中'test";
echo "<script>fun('".urlencode($value)."');</script>";
?>
另:网站编码为gb2312,且不好更改啦
function fun(param)
{
alert(param);
alert(decodeURIComponent(param)); //字符编码不对
alert(unescape(param)); //未正确解码
}
</script>
<?
$value = "中'test";
echo "<script>fun('".urlencode($value)."');</script>";
?>
另:网站编码为gb2312,且不好更改啦
function escape($str) {
preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(ord($v[0]) < 128)
$ar[$k] = rawurlencode($v);
else
$ar[$k] = "%u".substr(bin2hex(iconv("GBK","UCS-2",$v)),2).substr(bin2hex(iconv("GBK","UCS-2",$v)),0,2);
}
return join("",$ar);
} // javascript 解码
function unescape($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","GBK",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#") {
$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}
function fun(param)
{
alert(param);
}
</script>echo "<script>fun(\"".str_replace('"',"\\\"",$value)."\");</script>";