关于BIG5-HKSCS的解决方法

yipeiwu_com6年前PHP代码库
非常苦悶地發現,原來一直困擾的HKSCS問題PHP一直也支持。只不過名稱不叫HK-SCS,叫BIG5-HKSCS。
以下是HK增補字符集的解決方案:
HTML頁面設為UTF-8,
寫入數據庫前先:iconv('big5-hkscs','utf8', $string)
需轉為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;
 }
}

相关文章

php如何利用pecl安装mongodb扩展详解

php如何利用pecl安装mongodb扩展详解

前言 本文主要给大家介绍了关于php利用pecl安装mongodb扩展的相关内容,下面话不多说了,来一起看看详细的介绍吧 环境说明 php7 centos7 mongodb...

PHP生成不重复标识符的方法

本文实例讲述了PHP生成不重复标识符的方法。分享给大家供大家参考。具体实现方法如下: 生成唯一不重复的标识我们主要是根据当前的一个时间time然后再转换在md5值,这样几乎是可以保证标签...

PHP自动选择 连接本地还是远程数据库

Mysql.class.php 文件见 https://www.jb51.net/article/25496.htm复制代码 代码如下: <?php // 包含Mysql操作类 i...

解析PHP中$_FILES的使用以及注意事项

$_FILES数组内容如下:$_FILES['myFile']['name'] 客户端文件的原名称。$_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器...

php返回当前日期或者指定日期是周几

PHP星期几获取代码: 复制代码 代码如下: date("l"); //data就可以获取英文的星期比如Sunday date("w"); //这个可以获取数字星期比如123,注意0是星...