很多站长朋友们都不太清楚php简体繁体切换,今天小编就来给大家整理php简体繁体切换,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP怎么实现简体中文转换繁体中文 2、 php搜索 繁体怎么转成简体 3、 php用别人的代码为啥会变成繁体字 PHP怎么实现简体中文转换繁体中文mb_convert_encoding(mbMySubstr($arr['c_title'],0,60), 'big5','gbk');
这是转换成gbk转换成big5码
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;$i<strlen($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;$i<strlen($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>","<head><base 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 => $val<br>";
$url.="".$key."=".urlencode($val);
}
$fcontents = join( '', file( "$url" ) );
$code=new CCharset;
$fcontents=$code->Big5_Gb($fcontents);
//echo "转换过的 $CHAR_GB";
echo $fcontents;
exit;
}
/
php用别人的代码为啥会变成繁体字php:解决简体和繁体字在网页界面显示乱码的函数
简体字和繁体字在网页界面是显示乱码解决方式:
mb_convert_encoding($str,'gbk','utf-8');
gbk是繁体编码,gb2312是简体编码。但gbk包含gb2312,所以,如果数组中包含繁体字和简体字,使用gbk转换即可
关于php简体繁体切换的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php简体繁体切换 phpstorm切换中文的详细内容...