PHP好像不能传递参数,乱码。高手看看我下面的代码该怎末改?1.传递参数页面a.html<a href="b.php?name=李纲">
李纲
</a>2.接收参数页面b.php<?php
$a=$_SERVER['QUERY_STRING']; //参数
echo substr(a)."<br>";
?> 从链接页面传过一个中文参数,然后在接受页面b.php中进行操作。我应该怎末写?如何解决乱码问题。
李纲
</a>2.接收参数页面b.php<?php
$a=$_SERVER['QUERY_STRING']; //参数
echo substr(a)."<br>";
?> 从链接页面传过一个中文参数,然后在接受页面b.php中进行操作。我应该怎末写?如何解决乱码问题。
$str=urlencode('毛泽西');//进行url编码<a href="b.php?name=<?php echo $str;?>">Links</a>
接收到$get=$_GET['name'];echo urldecode($get);//进行解确
用js对中文字符串进行utf-8编码后再传送
php6 将支持Unicode
@$str=$_GET['p_sort'];
function js_unescape($str)
{
$ret = '';
$len = strlen($str); for ($i = 0; $i < $len; $i++)
{
if ($str[$i] == '%' && $str[$i+1] == 'u')
{
$val = hexdec(substr($str, $i+2, 4)); if ($val < 0x7f) $ret .= chr($val);
else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));
else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f)); $i += 5;
}
else if ($str[$i] == '%')
{
$ret .= urldecode(substr($str, $i, 3));
$i += 2;
}
else $ret .= $str[$i];
}
return $ret;
}
print iconv('utf-8', 'gb2312', js_unescape($str));
?>