2013年4月2日火曜日

PHPでサロゲートペアをJSONで扱うときのバグ。(2)

とりあえず、こういう風に修正。
【PEARのJSON.php】
  1. function bin2hexU16($utf16){  
  2.  $ret = sprintf('\u%04s', bin2hex($utf16));  
  3.  $n = strlen($ret);  
  4.  if($n != 10) return $ret;  
  5.  return substr($ret,0,6) . '\u' . substr($ret,6);  
  6. }  
  7. //旧  
  8. //$ascii .= sprintf('\u%04s', bin2hex($utf16));  
  9. //新  
  10. $ascii .= sprintf('%s', $this->bin2hexU16($utf16));  

0 件のコメント:

コメントを投稿