• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        編碼對比表的運用(2)

        編碼對比表的運用(2)

        更新時間:2022-04-27 文章作者:未知 信息來源:網絡 閱讀次數:

        <?php
        /**
        * 本程序用于從編碼對照表裝入簡繁編碼,利用序列化來縮短裝入時間
        * 同時提供兩個繁簡轉換函數
        * 使用方法:
        * 在需要的程序中加入
        * require_once "load_gb_big5.php";
        * setchar(["big5"]);
        */

        $filename = "gb_big5.txt";
        if(!file_exists($filename)) {
        /**
         * 連接并打開對照表
         */
        $conn = mysql_connect();
        mysql_select_db("unicode");
        /**
         * 提取其中big5和gbk編碼,表中big5只有13487個(包括符號)
         */
        $sql = "select gbk,big5,gb2312 from unicode where big5 != ''";
        $rs = mysql_query($sql);
        /**
         * 讀取數據到數組,注意key和value的處理
         */
        $code = array(0=>"big5",gb2312=>0);

        while($row = mysql_fetch_array($rs)) {
        $code[pack("H4",$row][gbk])] = pack("H4",$row[big5]);
        }
        mysql_close($conn);
        $fp = fopen($filename,"w");
        fwrite($fp,serialize($code));
        fclose($fp);
        }else {
        $fp = fopen($filename,"r");
        $code = unserialize(fread($fp,filesize($filename)));
        fclose($fp);
        }

        /**
        * 將輸入串轉換成相應編碼
        */
        function getchar($s) {
        global $code;
        $v = "";
        for($i=0;$i<strlen($s);$i++) {
        if(ord($s[$i]) > 0x7f) {
        $p = sprintf("%02X%02X",$s[$i],$s[$i+1]);
        $p = $s[$i].$s[$i+1];
        $ch = $code[$p];
        if($ch == "")
        $ch = $s[$i].$s[$i+1];
        $v .= $ch;
        $i++;
        }else
        $v .= $s[$i];
        }
        return $v;
        }

        /**
        * 設定轉換類型并輸出頭
        * 此函數前不能有其他輸出
        */
        function setchar($char="gb2312") {
        global $code;
        if($char != "gb2312" && $char != "big5")
        die("字符編碼類型錯!!!");
        if($code[0] != $char)
        $code = array_flip($code);// 若不是指定的編碼類型,則交換鍵
        header("Content-type: text/html; charset=$char");
        }

        ?>
        測試例:
        <?php
        require_once "load_gb_big5.php";
        setchar("big5");

        echo getchar('
        最近完成了gbk、gb2312、big5的編碼對照表(含其漢語拼音)的整理
        現以文本文件方式提供給大家,壓縮包297k
        其中:(均包括符號)
        gbk21791
        big5 15863
        gb2312 7478
        注意數據行的",",在mysql下必須要有,否則可能出錯。有的朋友拿到的新版可能沒有,請自行加上。
        (2002-10-24)
        有興趣的朋友請與我聯系,email:czjsz_ah@stats.gov.cn

        文檔格式:
        "B6F6","","B6F6","997F","餓","e",
        "B6F7","AEA6","B6F7","6069","恩","en",
        "B6F8","A6D3","B6F8","800C","而","er|neng",
        "B6F9","A449","B6F9","513F","兒","er|ren",
        順次為:gbk、big5、gb2312、unicode、字模、拼音

        mysql建表代碼(請按實際情況修改):
        ');
        ?>

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 日本亚洲免费无线码| 最好看最新的中文字幕免费 | 国产偷国产偷亚洲清高APP| 精品熟女少妇a∨免费久久| 亚洲视频在线观看| www视频免费看| 久久精品国产亚洲AV久| 成人性生免费视频| 亚洲AV成人片无码网站| 国产伦一区二区三区免费 | 四虎免费影院ww4164h| 亚洲美女中文字幕| 国产成人免费网站| 亚洲欧美国产国产一区二区三区| 青青草国产免费久久久91| 色噜噜狠狠色综合免费视频| 亚洲精品成人片在线观看| 男人j进入女人j内部免费网站| 亚洲Av永久无码精品三区在线| 久久青草91免费观看| 国产精品亚洲精品青青青| 日本一道综合久久aⅴ免费| 免费看黄福利app导航看一下黄色录像| 亚洲精品无码久久久久AV麻豆| 中文字幕免费不卡二区| 亚洲男女一区二区三区| 国产一区二区视频免费| 全黄大全大色全免费大片| 亚洲人成在线影院| 国产又大又黑又粗免费视频| 国产精品1024永久免费视频| 日韩亚洲产在线观看| 亚洲av片一区二区三区| 免费精品一区二区三区第35 | 又粗又硬免费毛片| 国内精品免费在线观看 | 国产亚洲福利在线视频| 国产亚洲?V无码?V男人的天堂| 亚洲heyzo专区无码综合| 国产午夜亚洲精品理论片不卡| 成年在线观看网站免费|