PHP版本繁簡體,UTF-8和Unicode互轉的函式:GB2312Big5,GB2312UTF-8,Big5UTF-8等

小麋鹿666發表於2017-09-03
研究VtigerCRM時,試圖把繁體語言外掛轉成簡體版,並去除對iconv的依賴,因為很多php空間不支援;研究過GB2312,Big5,UTF-8之間的轉化方法。後來就扔到了一邊,最近有多個朋友詢問解決方案,於是重新找出來貢獻給大家;
本人對php所知不多,即使偶爾修改些php的網頁也是摸索著查資料來實現,望php行家莫見笑。
這個方案的特點就是使用簡單,只要在需要呼叫轉換函式的頁面加入include_once`language.inc`,就可以方便使用函式了。
關於使用方法就附上我當初轉語言外掛的程式碼:
None.gif<?php
None.gif    
function dirtree($path=.
None.gif    {
None.gif        
include_once `language.inc`;
None.gif        
$d = dir($path); 
None.gif        
while(false !== ($v = $d->read()))
None.gif        { 
None.gif            
if($v == . || $v == ..
None.gif                
continue
None.gif            
$file = $d->path./.$v
None.gif            
if(is_dir($file)) 
None.gif            { 
None.gif                
//echo “$v”; 
None.gif
                dirtree($file); 
None.gif            } 
None.gif            
else 
None.gif                
echo $file.
;
None.gif                
//rename($file,str_replace(`zh_tw`,`zh_cn`,$file));
None.gif                //$filename=`zh_cn.lang.php`;                

None.gif
                $fd=fopen($file,`r`);                
None.gif                
$contents = fread($fd, filesize($file));                
None.gif                
$contents=u2b($contents);
None.gif                
$contents=b2g($contents);
None.gif                
//echo $contents;
None.gif
                $contents=str_replace(`日`,`日曆`,$contents);
None.gif                
$contents=g2u($contents);
None.gif                
$contents=str_replace(`Trade chinese language pack created by METO, Inc. http://www.meto.com.tw`,`Simple chinese language pack created by Steed Soft Technology, Inc. http://www.steedsoft.com`,$contents);
None.gif
None.gif                
fclose($fd);
None.gif                
$fd=fopen(str_replace(`zh_tw/`,`zh_cn/`,str_replace(`zh_tw`,`zh_cn`,$file)),`w`);
None.gif                
fwrite($fd,$contents);
None.gif                
fclose($fd);
None.gif                
//rename($file,str_replace(`zh_tw`,`zh_cn`,$file));                
None.gif
        }
None.gif         
$d->close(); 
None.gif         
//echo ” “; 
None.gif
     } 
None.gif     dirtree(
zh_tw); 
None.gif 
?>

 

下載地址
也可以登陸該網頁下載:http://www.layman.5gigs.com/download/(還要些別的好東西等著你)

P.S
該方案的缺點,因為繁體中文和簡體中文存在一定的詞法不一致的情況,因此會發現有些詞無法轉換,我從網上找到了兩個處理該問題的dat檔案,但具體實現我沒有做,以後也許會抽時間研究下並做個更新。

 

 

本文轉自RubyPdf 的中文部落格部落格園部落格,原文連結:http://www.cnblogs.com/hardrock/archive/2006/02/11/328741.html,如需轉載請自行聯絡原作http://www.cnblogs.com/hardrock/archive/2006/05/17/402654.html

 


相關文章