地址栏传参为中文时,页面接收的处理

 

地址栏传参为中文时,页面接收的处理

public function index()

{

$params = $this->request->param();

if(!$params){

header(‘Location:http://tp6.com?name=测试传参’);

}else{

$a = $this->unicode_encode($params[‘name’]);

echo ‘编码: ‘.$a;echo ‘
‘;

echo ‘解码: ‘.$this->unicode_decode($a);

}

}

 

public function hello($name = ‘ThinkPHP6’)

{

return ‘hello,’ . $name;

}

//编码

public function unicode_encode($name)

{

$name = iconv(‘UTF-8’, ‘UCS-2’, $name);

$len = strlen($name);

$str = ”;

for ($i = 0; $i

$c = $name[$i];

$c2 = $name[$i + 1];

if (ord($c) > 0){

$str .= ‘u’.base_convert(ord($c), 10, 16).base_convert(ord($c2), 10, 16);

}

else {

$str .= $c2;

}

}

return $str;

}

//解码

public function unicode_decode($name)

{

$pattern = ‘/([w]+)|(u([w]{4}))/i’;

preg_match_all($pattern, $name, $matches);

if (!empty($matches)) {

$name = ”;

for ($j = 0; $j

$str = $matches[0][$j];

if (strpos($str, ‘u’) === 0) {

$code = base_convert(substr($str, 2, 2), 16, 10);

$code2 = base_convert(substr($str, 4), 16, 10);

$c = chr($code).chr($code2);

$c = iconv(‘UCS-2’, ‘UTF-8’, $c);

$name .= $c;

}

else {

$name .= $str;

}

}

}

return $name;

}

 

文章来源于互联网:地址栏传参为中文时,页面接收的处理

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发