/**

* 本程序用于从编码对照表装入简繁编码,利用序列化来缩短装入时间

* 同时提供两个繁简转换函数

* 使用方法:

* 在需要的程序中加入

http://www.gaodaima.com/45612.html编码对照表的使用(2)_php

* require_once "load_gb_big5.php";

* setchar(["big5"]);

*/

$filename = "gb_big5.txt";

if(!file_exists($filename)) {

/**

* 连接并打开对照表

*/

$conn = mysql_connect();

mysql_select_db("unicode");

/**

* 提取其中big5和gbk编码,表中big5只有13487个(包括符号)

*/

$sql = "select gbk,big5,gb2312 from unicode where big5 != ''";

$rs = mysql_query($sql);

/**

* 读取数据到数组,注意key和value的处理

*/

$code = array(0=>"big5",gb2312=>0);

while($row = mysql_fetch_array($rs)) {

$code[pack("H4",$row][gbk])] = pack("H4",$row[big5]);

}

mysql_close($conn);

$fp = fopen($filename,"w");

fwrite($fp,serialize($code));

fclose($fp);

}else {

$fp = fopen($filename,"r");

$code = unserialize(fread($fp,filesize($filename)));

fclose($fp);

}

/**

* 将输入串转换成相应编码

*/

function getchar($s) {

global $code;

$v = "";

for($i=0;$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;

}

/**

* 设定转换类型并输出头

* 此函数前不能有其他输出

*/

function setchar($char="gb2312") {

global $code;

if($char != "gb2312" && $char != "big5")

die("字符编码类型错!!!");

if($code[0] != $char)

$code = array_flip($code);  // 若不是指定的编码类型,则交换键

header("Content-type: text/html; charset=$char");

}

?>

测试例:

require_once "load_gb_big5.php";

setchar("big5");

echo getchar('

最近完成了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)_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

微信 赏一包辣条吧~

支付宝 赏一听可乐吧~

PHP中用编码代码,编码对照表的使用(2)_php相关推荐

  1. 如何检测文本文件的编码/代码页

    本文翻译自:How can I detect the encoding/codepage of a text file In our application, we receive text file ...

  2. flash 版的mp3编码代码

    flash 版的mp3编码代码 Shine MP3 Encoder on Alchemy http://code.google.com/p/flash-kikko/ 简介 Shine简单轻量级的mp3 ...

  3. 基于MPI的H.264并行编码代码移植与优化

    2010 03 25 基于MPI的H.264并行编码代码移植与优化 范 文 洛阳理工学院计算机信息工程系 洛阳 471023 摘 要 H.264获得出色压缩效果和质量的代价是压缩编码算法复杂度的增加. ...

  4. UFIDL稀疏自编码代码实现及解释

    UFIDL稀疏自编码代码实现及解释 1.今天我们来讲一下UFIDL的第一个练习. 1.我们来看看最难的一个.m文件 %% ---------- YOUR CODE HERE ------------- ...

  5. html 生成唯一码,生成唯一32位ID编码代码,以满足对ID编号的唯一性加资源性解决问题...

    生成唯一32位ID编码代码,以满足对ID编号的唯一性加资源性解决问题 package com.huayu.common; /* * RandomGUID from http://www.javaexc ...

  6. 霍夫曼编码代码matlab,matlab 实现霍夫曼编码

    编码内容包括:用matlab实现霍夫曼编码,并且求出相应的信源熵,平均码长,和编码效率. 以下是代码: %霍夫曼编码 %huffman_code %编码思路:根据位置矩阵的变化过程反推生成霍夫曼编码 ...

  7. 基于C语言的JPEG编码代码详解

    一.基于C语言的JPEG编码代码详解 #include <stdio.h> #include <stdlib.h> #include <string.h>#prag ...

  8. 专业档案门类代码编码方案

    本规范根据<国家专业档案基本目录(第一批)(第二批)>编制专业档案门类代码并复分到第三级,不对第三级之后的子类作出具体规定.各级国家综合档案馆可根据实际工作需要作进一步复分,并明确公布子类 ...

  9. php+检测字符集,php测试代码_php 检测字符编码代码

    摘要 腾兴网为您分享:php 检测字符编码代码,掌上电力,云南移动,悦作业,银行帮等软件知识,以及秒赚钥匙,hedit,飞秋2015,电竞大师,我的世界浩方电竞平台,佳能ts9020驱动,哈佛商业评论 ...

最新文章

  1. R语言rename重命名dataframe的列名实战:rename重命名dataframe的列名(写错的列名不会被重命名)
  2. Scrapy学习-24-集成elasticsearch
  3. Java Spring源代码学习之How is class annotation evaluated by Spring framework
  4. 【VirtualBox】VirtualBox的桥接网络模式,为啥网络不稳定?
  5. java编写代码时易出错_写Java程序最容易犯的错误有哪些呢?
  6. android 程序更换字体,Android修改自己程序字体的方法详解
  7. 解决 warning C4003: “min”宏的实参不足
  8. animate cc mysql,Vue 动画渲染
  9. Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
  10. 数据科学家大减价:一小时只收30美元
  11. C#打印标签(包括二维码和一位条码)
  12. 解决“javac”提示不是内部或外部命令的问题
  13. 大疆精灵4与双目视觉智能导航系统
  14. 魔兽任务分类及游戏任务系统设计启示
  15. 用JS控制SVG的预设动画
  16. U8销售出库单API接口 --参照发货通知单
  17. sap的清账是什么意思_SAP清账的高手
  18. Luogu P5037 抓捕
  19. linux学习第七章使用RAID和LVM磁盘阵列技术
  20. 城市轨道交通信号系统学习笔记1--ATC系统概述

热门文章

  1. Android 设置EditText光标Cursor颜色及粗细
  2. 反射__获取delegate的信息
  3. $.messager.confirm (使用$.messager.defaults修改按钮显示文字)
  4. MFC中的几个常用类——CWnd
  5. WPF命中测试示例(二)——几何区域命中测试
  6. C/C++实现如下 根据Merge Sort原理, 自己实现的归并排序算法+详细注释+代码(C#,C/C++)...
  7. JS 判断js是加载完成!
  8. RTX51 tiny系统要注意的问题:(关于时间片)
  9. 解决在使用numpy.polyfit 时出现的 raise LinAlgError(“SVD did not converge in Linear Least Squares“)错误
  10. LOJ504「LibreOJ β Round」ZQC 的手办