仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1231|回复: 18
打印 上一主题 下一主题

[学习教程] PHP编程:php的汉字转换: GBK->Big5

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-4 00:11:26 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-10 23:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表