您的位置:

php繁体转码,php转换字符编码

本文目录一览:

php搜索 繁体怎么转成简体

PHP实现---汉字简体繁体转换

这是以class包装好的简繁体转换的class,

另外需要两个table档:

1. 

2. 

程式如下: CCharset.php3

? //=====================================================

// 程式员: Magic Jerry

//

// function Big5_Gb($str) = big5转GB for string

// function Gb_Big5($str) = GB转Big5 for string

//=====================================================

class CCharset {

var $gb_map="gb.map"; //如果要放到别的路径,要加上完整路径

var $big5_map="big5.map"; //例如 ="/home/table/gb.map

var $dep_char = 127;

//-----------------------------------------------------------------

function cbig5_gb($str,$fd) {

$c=ord(substr($str,0,1));

$x=ord(substr($str,1,1));

$address=(($c-160)*510)+($x-1)*2;

fseek($fd, $address);

$hi=fgetc($fd);

$lo=fgetc($fd);

return "$hi$lo";

}

function cgb_big5($str,$fd) {

$c=ord(substr($str,0,1));

$x=ord(substr($str,1,1));

$address=(($c-160)*510)+($x-1)*2;

fseek($fd, $address);

$hi=fgetc($fd);

$lo=fgetc($fd);

return "$hi$lo";

}

//-----------------------------------------------------------------

function Big5_Gb($str) {

$fd = fopen ($this-gb_map, "r");

$str=str_replace("charset=big5","charset=gb2312", $str);

$outstr="";

for($i=0;$istrlen($str);$i++) {

$ch=ord(substr($str,$i,1));

if($ch  $this-dep_char) {

$outstr.=$this-cbig5_gb(substr($str,$i,2),$fd);

$i++;

} else {

$outstr.=substr($str,$i,1);

}

}

fclose ($fd);

return $outstr;

}

//-----------------------------------------------------------------

function Gb_Big5($str) {

$fd = fopen ($this-big5_map, "r");

$str=str_replace("charset=gb2312","charset=big5", $str);

$outstr="";

for($i=0;$istrlen($str);$i++) {

$ch=ord(substr($str,$i,1));

if($ch  $this-dep_char) {

$outstr.=$this-cgb_big5(substr($str,$i,2),$fd);

$i++;

} else {

$outstr.=substr($str,$i,1);

}

}

fclose ($fd);

return $outstr;

}

}

?

===================================================================

使用范例:

?

// Designer: Magic Jerry

//====直接转换文字串 的使用方法========

include("CCharset.php3");

$obj=new CCharset;

$big5="这是一个big5的文字串";

$tgb=$obj-Big5_Gb($big5);

echo $tgb; //=== $tgb为转换好的gb码字串

$tbig5=$obj-Gb_Big5($tgb);

echo $tbig5; // 又被转回来了: big5

//======================================

?

?

//如果直接转换网页 或是档案

// 语法 这个程式.php3?http://要转码的网页url或档案

// example: 转换奇摩首页

// 这个程式.php3?

// 注意: 以下写法如遇到该网页有使用cookie,例如认证user,可能会被踢回,login错误..

// 为什麼? 想想看吧... @_@

include("CCharset.php3");

$file=$QUERY_STRING;

$fcontents = join( '', file( "$file" ) );

$fcontents=str_replace("head","headbase href=$file", $fcontents);

$code=new CCharset;

$gb=$code-Big5_Gb($fcontents);

echo $gb;

?

范例:

?

if($func=="charset") {

setcookie("CHAR_GB",$GB,time()+ 31536000);

$t=time();

$url="http://".$HTTP_HOST.$PHP_SELF."?".$QUERY_STRING;

$url=str_replace("?func=charsetGB=1","", $url);

$url=str_replace("?func=charsetGB=0","", $url);

$url=str_replace("func=charsetGB=1","", $url);

$url=str_replace("func=charsetGB=0","", $url);

//echo $url;

//echo "SET to Charset = $CHAR_GB";

$t=time();

echo "

script language=javascript

document.location='$url'

/script

";

exit;

}

//phpinfo();

if($CHAR_GB==1  !$istran ) {

include("CCharset.php3");

if(strlen($QUERY_STRING)) $url="http://".$HTTP_HOST.$PHP_SELF."?".$QUERY_STRING."istran=1";

else $url="http://".$HTTP_HOST.$PHP_SELF."?istran=1";

while (list ($key, $val) = each ($HTTP_COOKIE_VARS)) {

//echo "$key = $valbr";

$url.="".$key."=".urlencode($val);

}

$fcontents = join( '', file( "$url" ) );

$code=new CCharset;

$fcontents=$code-Big5_Gb($fcontents);

//echo "转换过的 $CHAR_GB";

echo $fcontents;

exit;

}

/

在PHP把SQL读取到的繁体BIG5编码转换成简体显示出来

echo mb_convert_encoding("你是我的朋友", "GB2312", "big5");

mb_convert_encoding 函数为php内部多字节字符串编码转换函数,可以在有需要的使用场合(如:解决在GB2312编码环境下使用Ajax产生的中文字乱码的问题)方便进行编码转换,以解决网页乱码的问题,使用非常方便,效率非常高,几乎支持所有编码

PHP怎么实现简体中文转换繁体中文

mb_convert_encoding(mbMySubstr($arr['c_title'],0,60), 'big5','gbk');

这是转换成gbk转换成big5码