- 论坛徽章:
- 0
|
原帖由 红雨 于 2006-9-26 21:56 发表
%u7A0B%u5E8F%u5458 这是什么编码?
对应的汉字是“程序员”,PHP用什么函数转码?
如果是这三个字的话,
"程序员" 的 UTF-8 编码 转 16进制 , 每个字前加 %u 就可以了 !
这个结果对应 JS 的 escape() 编码结果
php 没有现成的函数
- <?PHP
- function phpescape($str)
- {
- $sublen=strlen($str);
- $retrunString="";
- for ($i=0;$i<$sublen;$i++)
- {
- if(ord($str[$i])>=128)
- {
- $tmpString=bin2hex(iconv("gb2312","ucs-2",substr($str,$i,2)));
- //$tmpString=substr($tmpString,2,2).substr($tmpString,0,2);
- $retrunString.="%u".$tmpString;
- $i++;
- } else {
- $retrunString.="%".dechex(ord($str[$i]));
- }
- }
- return $retrunString;
- }
- ?>
复制代码 |
|