内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

php中big5轉(zhuǎn)utf8亂碼怎么辦?

php中big5轉(zhuǎn)utf8亂碼的解決辦法:首先生成tab文件,并生成時要保證tab文件不存在;然后將指定頁面轉(zhuǎn)碼測試;接著打印出文字庫;最后big5轉(zhuǎn)【utf-8】即可。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、南昌網(wǎng)站維護、網(wǎng)站推廣。

php中big5轉(zhuǎn)utf8亂碼的解決辦法:

第一步:生成tab文件,生成時要保證tab文件不存在才可以

writebig5UnicodeFile();

第二步:指定頁面轉(zhuǎn)碼測試

testCode();

第三步:打印出文字庫

printfCode();

<?php
//生成big5-unicode 編碼文件
function loadBig5(){
    $fp = fopen( './big5-unicode.txt', 'r' );
    $big5_unicode_arr = array();
    while($one_line = fgets($fp)) {
        $one_line_arr = explode("\\t",$one_line);
        $big5 = hexdec(trim($one_line_arr[0]));
        $unicode = trim($one_line_arr[1]);
        if(strpos($unicode,',')) {
            $unicode = ltrim(explode(',',$unicode)[0],'<');
        }
          $big5_unicode_arr[$big5] = hexdec($unicode);
    }
  return $big5_unicode_arr;
}
 
//追加形式寫入文件
function putContent($content) {
    static $fp;
    if(!isset($fp)) {
        $fp = fopen( './big5-unicode-new.tab', 'a+' );
    }
  fwrite($fp,$content);
}
 
//生成tab文件
function writebig5UnicodeFile() {
    $big5_unicode_arr = loadBig5();
    $big5_unicod_content = array();
    $min = 2000;
    $max = 0;
    $max_unicode = 0;
    foreach($big5_unicode_arr as $big5 => $unicode) {
        $h = floor($big5/256);
        $l = $big5%256;
        $index = ($h-135)*256*3+$l*3;
          if($index<$min) {
            $min = $index;
        }
          if($max<$index) {
            $max = $index;
        }
          if($unicode>$max_unicode) {
            $max_unicode = $unicode;
        }
          $h_1 = floor($unicode/65536);
        $h_2 = floor($unicode/256);
        $h_3 = $unicode%256;
          $big5_unicod_content[$index] = chr($h_1).chr($h_2).chr($h_3);
    }
  for($i=0;$i<=$max;$i=$i+3) {
        if(!isset($big5_unicod_content[$i])) {
            $big5_unicod_content[$i] = chr(0).chr(0).chr(0);
        }
    }
  for($i=0;$i<=$max;$i=$i+3) {
        if(strlen($big5_unicod_content[$i]) == 3) {
            putContent($big5_unicod_content[$i]);
        }else{
            die('error');
        }
    }
}
 
//測試編輯結(jié)果
function testCode() {
    $content = file_get_contents( './temlate_2.html');
    echo b2u($content);
}
 
//打印出編碼庫文字
function printfCode() {
    $fp = fopen( './big5-unicode-new.tab', 'r' );
    $len = filesize('./big5-unicode-new.tab');
    $x = 0;
    $outstr = array();
    //     fseek( $fp, 21000 - 900 + 42*3);
    for($i=$x=0;$i<$len;$i=$i+3) {
        $uni = fread( $fp, 3 );
        $codenum = ord($uni[0])*65536 + ord($uni[1])*256 + ord($uni[2]);
        if($codenum == 0) {
            $outstr[$x++] = ' ';
        }elseif( $codenum < 0x80 ) {
            $outstr[$x++] = chr($codenum);
        }elseif($codenum < 0x800) {
            $outstr[$x++] = chr( 192 + $codenum / 64 );
            $outstr[$x++] = chr( 128 + $codenum % 64 );
 
        }elseif($codenum < 0x10000){
            $outstr[$x++] = chr( 224 + floor($codenum / 4096 ));
            $codenum = $codenum%4096;
            $outstr[$x++] = chr( 128 + floor($codenum / 64 ));
            $outstr[$x++] = chr( 128 + ($codenum % 64) );
        }else{
            $outstr[$x++] = chr( 240 + floor($codenum / 262144 ));
            $codenum = $codenum%262144;
            $outstr[$x++] = chr( 128 + floor($codenum / 4096 ));
            $codenum = $codenum%4096;
            $outstr[$x++] = chr( 128 + ($codenum / 64) );
            $outstr[$x++] = chr( 128 + ($codenum % 64) );
        }
    }
 
    echo join( '', $outstr);
}
 
//big5 轉(zhuǎn) utf-8
function b2u( $instr ) {
    $fp = fopen( './big5-unicode-new.tab', 'r' );
    $len = strlen($instr);
    $outstr = '';
    for( $i = $x = 0 ; $i < $len ; $i++ ) {
        $h = ord($instr[$i]);
        if( $h >= 135 ) {
            $l = ord($instr[$i+1]);
                  fseek( $fp, ($h-135)*256*3+$l*3 );
            $uni = fread( $fp, 3 );
                  $codenum = ord($uni[0])*65536 + ord($uni[1])*256 + ord($uni[2]);
                  if($codenum == 0) {
                $outstr[$x++] = ' ';
            }elseif( $codenum < 0x80 ) {
                $outstr[$x++] = chr($codenum);
            }elseif($codenum < 0x800) {
                $outstr[$x++] = chr( 192 + $codenum / 64 );
                $outstr[$x++] = chr( 128 + $codenum % 64 );
                      }elseif($codenum < 0x10000){
                $outstr[$x++] = chr( 224 + floor($codenum / 4096 ));
                $codenum = $codenum%4096;
                $outstr[$x++] = chr( 128 + floor($codenum / 64 ));
                $outstr[$x++] = chr( 128 + ($codenum % 64) );
            }else{
                $outstr[$x++] = chr( 240 + floor($codenum / 262144 ));
                $codenum = $codenum%262144;
                $outstr[$x++] = chr( 128 + floor($codenum / 4096 ));
                $codenum = $codenum%4096;
                $outstr[$x++] = chr( 128 + ($codenum / 64) );
                $outstr[$x++] = chr( 128 + ($codenum % 64) );
            }
            $i++;
        }
        else
            $outstr[$x++] = $instr[$i];
    }
    fclose($fp);
    if( $instr != '' )
        return join( '', $outstr);
}

文章標題:php中big5轉(zhuǎn)utf8亂碼怎么辦?
轉(zhuǎn)載來源:http://m.rwnh.cn/article0/cgidoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化定制開發(fā)、外貿(mào)建站搜索引擎優(yōu)化、響應(yīng)式網(wǎng)站、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
志丹县| 布拖县| 永善县| 永仁县| 赤城县| 嵩明县| 含山县| 新泰市| 务川| 栖霞市| 黔东| 东山县| 高尔夫| 确山县| 大关县| 阜南县| 汤原县| 镇原县| 思南县| 白河县| 湘潭县| 饶河县| 抚宁县| 桃江县| 广水市| 合川市| 株洲县| 独山县| 乌鲁木齐县| 长汀县| 广饶县| 浑源县| 西丰县| 上思县| 康保县| 夏津县| 遂昌县| 项城市| 怀安县| 金堂县| 长葛市|