$username = 'abc张红军';
preg_match_all("/[\x80-\xff]?./", $username, $r);$s = array();
foreach($r[0] as $v) {
  if(ord($v) < 0x80)
    $s[] = ord($v);
  else
    $s[] = '\\u'.bin2hex(iconv('GBK', 'UCS-2', $v));
}
echo join(',', $s);
out
97,98,99,\u5f20,\u7ea2,\u519b

解决方案 »

  1.   

    xuzuning(唠叨) 谢谢你,另一个问题,
    如果把中文转成10进制的unicode值呢?(不是用\u开头),
    是不是直接把 5f20算出来啊? 5f20是十六进制吗?多谢了!!
      

  2.   

    不会PHP,不过好像任何语言都有转换函数,多查查
      

  3.   

    急用,我是做java开发的,对php不了解,查也来不及,
    希望老大们多给建议
      

  4.   

    是不是直接把 5f20算出来啊? 5f20是十六进制吗?
    -------------------------------
    It should be.