仓酷云

标题: PHP编程:php的汉字转换: GBK->Big5 [打印本页]

作者: 精灵巫婆    时间: 2015-2-4 00:11
标题: PHP编程:php的汉字转换: GBK->Big5
接触MYSQL,开始设计数据库程序汉字|转换   php的汉字转换一向是对照费事的事
起首要说两点:
1.GBK的繁体字并非Big5,但普通繁体字都有对应的Big码
2.一GBK码其实不必定有对应的Big5码,所以通常为不成逆转换

该类内置了三个函数
qswhStr 格局化字符串
qswhFile 格局化一文件
qswhDir 格局化目次下一切文件(.qswh的除外,那是本来文档的备份)

qswhBig5.php 从这里下载
http://www.blueidea.com/user/qswh/qswhBig5.zip

<?
class qswhBig5{
var $qswhData;
function qswhBig5($filename="qswhBig5.php"){
  $this->qswhData=file($filename);
}
function qswhStr($gb,$fail="??"){
  /******(qiushuiwuhen 2002-9-6)******/
  $ret="";
  for($i=0;$i<strlen($gb);$i++){
   if(($p=ord(substr($gb,$i,1)))>127){
    $q=ord(substr($gb,++$i,1));
    $tmp=$this->qswhData[$p-128];
    for($j=0;$j<strlen($tmp);$j+=6)if(($k=hexdec(substr($tmp,$j,2)))>=$q)break;
    if($k==$q)$q=chr(hexdec(substr($tmp,$j+2,2))).chr(hexdec(substr($tmp,$j+4,2)));
    else if($fail=="")$q=chr($p).chr($q); else $q=$fail;
   }
   else
    $q=chr($p);
   $ret.=$q;
  }
  return $ret;
}
function qswhFile($filename,$fail="??"){
  /******(qiushuiwuhen 2002-9-6)******/
  if(!file_exists($filename.".qswh"))copy($filename,$filename.".qswh");
  $fp=fopen($filename,"r+");
  $tmp=fread($fp,filesize($filename));
  rewind($fp);
  fwrite($fp,$this->qswhStr($tmp,$fail));
  fclose($fp);
}

function qswhDir($dirname,$fail="??"){
  /******(qiushuiwuhen 2002-9-6)******/
  $d = dir($dirname);
  while($entry=$d->read()) {
   if($entry=="."||$entry=="..")continue;
   $entry=$dirname."/".$entry;
   if(is_dir($entry))
       $this->qswhDir($entry,$fail);
      else{
       if(substr($entry,-5)!=".qswh")$this->qswhFile($entry,$fail);
      }
  }
  $d->close();
  return $c;
}

}


利用典范:
$words="秋水无恨";
$qswh=new qswhBig5("qswhBig5.php");//qswhBig5.php,可省参数
echo("<xmp>请选择编码Big5检查:".$qswh->qswhStr($words));
echo("\n编码一目次:".$qswh->qswhDir("test"));
echo("\n编码一文件:".$qswh->qswhFile("index.htm"));

利用申明:
qswhStr中第二个参数代表假如没有对应的Big5将交换的字,假如为空,则保存该字
将文件格局化后,记得要修正<meta中的content-type为Big。

理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。
作者: 爱飞    时间: 2015-2-4 09:53
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 飘飘悠悠    时间: 2015-2-9 21:57
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 简单生活    时间: 2015-2-17 18:53
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 乐观    时间: 2015-2-25 00:13
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 小妖女    时间: 2015-2-28 13:08
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 深爱那片海    时间: 2015-3-1 14:02
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者: 第二个灵魂    时间: 2015-3-10 18:24
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 飘灵儿    时间: 2015-3-11 15:24
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 小魔女    时间: 2015-3-17 19:29
本文当是我的笔记啦,遇到的问题随时填充
作者: 金色的骷髅    时间: 2015-3-19 08:52
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 愤怒的大鸟    时间: 2015-3-21 21:47
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 莫相离    时间: 2015-3-24 17:25
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 谁可相欹    时间: 2015-4-5 08:40
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 分手快乐    时间: 2015-4-15 05:06
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 冷月葬花魂    时间: 2015-4-16 08:14
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 山那边是海    时间: 2015-5-11 23:46
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 柔情似水    时间: 2015-6-5 11:42
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 只想知道    时间: 2015-6-5 19:17
当然这种网站的会员费就几十块钱。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2