日期:2014-05-17  浏览次数:20410 次

如何将英文和数字urlencode
如果简单使用urlencode

英文和数字并不会被编码而是直接跳过.

比如
'AAAAA中文22222'
编码后
'AAAAA%D6%D0%CE%C422222'

实际上AAAAA我希望编码成
%41%41%41%41%41

22222
编码成
%32%32%32%32%32

之类的


------解决方案--------------------

<?php
// 源文件编码使用gbk
$str = 'AAAAA中文22222';

echo urlencode($str);

$ret = '';
for($i=0, $len=strlen($str);$i < $len; $i++) {
$ret .= '%'.strtoupper(dechex(ord($str[$i])));
}

echo "<br>";

echo $ret;