当前位置:主页 > 软件编程 > PHP代码 >

关于BIG5-HKSCS的解决方法

时间:2021-04-03 07:48:30 | 栏目:PHP代码 | 点击:

非常苦??地?l?F,原?硪恢崩?_的HKSCS???}PHP一直也支持。只不?^名?Q不叫HK-SCS,叫BIG5-HKSCS。
以下是HK增?a字符集的解?Q方案:
HTML?面?O??UTF-8,
??入????烨跋龋?iconv('big5-hkscs','utf8', $string)
需?D??UNICODE就用以下函??
function String2Unicode($data, $language)
{
 $data = nl2br(trim($data));
 $data = str_replace('<br />',chr(13),$data);
 $str = '';
 preg_match_all("/[\x80-\xff]?./",$data,$ar);
 debug($ar); 
 foreach($ar[0] as $v)
 {
  if($v != '' && $v!=chr(13))
  {
   $str .= "&#".utf82unicode(iconv($language,"UTF-8",$v)).";";
  }else {
   $str .=$v;
  }
 }
 return $str;
}
function utf82unicode($c) {
 switch(strlen($c)) {
  case 1:
   return ord($c);
  case 2:
   $n = (ord($c[0]) & 0x3f) << 6;
   $n += ord($c[1]) & 0x3f;
   return $n;
  case 3: 
   $n = (ord($c[0]) & 0x1f) << 12;
   $n += (ord($c[1]) & 0x3f) << 6;
   $n += ord($c[2]) & 0x3f;
   return $n;
  case 4:
   $n = (ord($c[0]) & 0x0f) << 18;
   $n += (ord($c[1]) & 0x3f) << 12; 
   $n += (ord($c[2]) & 0x3f) << 6;
   $n += ord($c[3]) & 0x3f;
   return $n;
 }
}

您可能感兴趣的文章:

相关文章