动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   PHP → 阅读文章

 编码对照表的使用(1)

作者来源: 
阅读 数 272 人次 , 2006-4-18 17:08:00 


   <?php
/**
* 当制作好编码对照表后,并不能马上使用还需对其进行一些加工
* 当然简单的查表是可以的但效率不高
* 现在以繁简转换为例,说明对照表的使用
*/

/**
* 连接并打开对照表
*/
$conn = mysql_connect();
mysql_select_db("unicode");
/**
* 提取其中big5和gbk编码,表中big5只有13487个(包括符号)
*/
$sql = "select gbk,big5,gb2312 from unicode where big5 != ''";
//$sql = "select * from unicode";
$rs = mysql_query($sql);
echo mysql_num_rows($rs)."<br>";
/**
* 读取数据到数组,注意key和value的处理
*/
$code = array(0=>"gb",big5=>0);

while($row = mysql_fetch_array($rs)) {
  $code[pack("H4",$row][gbk])] = pack("H4",$row[big5]);
//  $code[$row][gb2312]] = pack("H4",$row[big5]);
}

mysql_close($conn);

function gb_big5($s) {
  global $code;
  $v = "";
  if($code[0] == "big5")
    $code = $arr_flip($code);
  for($i=0;$i<strlen($s);$i++) {
    if(ord($s[$i]) > 0x7f) {
      $p = sprintf("%02X%02X",$s[$i],$s[$i+1]);
      $p = $s[$i].$s[$i+1];
      $ch = $code[$p];
      if($ch == "")
        $ch = $s[$i].$s[$i+1];
      $v .= $ch;
      $i++;
    }else
      $v .= $s[$i];
  }
  return $v;
}
echo '<meta http-equiv="Content-Type" content="text/html; charset=big5">';
echo gb_big5('
最近完成了gbk、gb2312、big5的编码对照表(含其汉语拼音)的整理
现以文本文件方式提供给大家,压缩包297k
其中:(均包括符号)
gbk  21791
big5 15863
gb2312 7478
注意数据行的",",在mysql下必须要有,否则可能出错。有的朋友拿到的新版可能没有,请自行加上。
(2002-10-24)
有兴趣的朋友请与我联系,email:czjsz_ah@stats.gov.cn

文档格式:
"B6F6","","B6F6","997F","饿","e",
"B6F7","AEA6","B6F7","6069","恩","en",
"B6F8","A6D3","B6F8","800C","而","er|neng",
"B6F9","A449","B6F9","513F","儿","er|ren",
顺次为:gbk、big5、gb2312、unicode、字模、拼音

mysql建表代码(请按实际情况修改):
');
?>   
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:编码对照表的使用(2)
· 下一篇:改自erquan 的 odbc连mssql分页的类, 加了一些功能,与本论坛类似
· PHP用流方式制作缩略图
· PHP4之COOKIE支持详解[转自奥索]
· PHP的面向对象编程:开发大型PHP项目的方法(五)
· php安全之狗尾续貂(转)
· MySql正则表达式的描述


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077