本文目錄一覽:
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碼
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/277900.html