導航:首頁 > 編程語言 > phpgb轉換

phpgb轉換

發布時間:2025-08-18 13:30:17

A. php中 提取中文字元首個拼音字母

$fchar = ord($s0{0}); //獲取字元串的第一個位元組

//判斷是不是英文字元,如果是則直接返回該字母大寫
if ($fchar >= ord(「A」) and $fchar <= ord(「z」))return strtoupper($s0{0});

//以下代碼用字元編碼轉換函數,通過兩種字元集編碼轉換的對比,判斷字元串是哪種字元集
//最終取字元串為GB字元集
$s1 = @iconv(「UTF-8″, 「GBK」, $s0);
$s2 = @iconv(「GBK」, 「UTF-8″, $s1);
if ($s2 == $s0) {
$s = $s1;
} else {
$s = $s0;
}

//計算給出的字元串的前兩個位元組內碼,然後再根據結果判斷在GB字元集中的位置,從而根據位置與拼音的關系,最終得出拼音字母
$asc = ord($s{0}) * 256 + ord($s{1}) – 65536;

『U』、『V』對中文無效,以下是對H 拼音的計算:

if($asc>=-17922 and $asc<=-17418)return "H";

B. PHP的。UTF-8編碼的網頁下面,如何將urlencode轉成GB2312編碼的

echo urlencode(iconv('utf-8', 'gb2312', '中國人'));
先把 中國人 編碼轉成 gb2312,然後再urlencode編碼一次

C. unicode編碼轉換用PHP實現將GB編碼轉換為UTF8

gb2utf8.php 文件定義了一個名為 GB2UTF8 的類,用於實現 GB 編碼轉換為 UTF8 編碼。類內部包含了一個設置GB2312代碼文件的函數 SetGb2312,用於載入GB2312編碼表。該類還包含了一個轉換函數 Convert,用於將輸入的GB2312字元串轉換為UTF8字元串。如果轉換過程中出現錯誤,會記錄錯誤信息在 $ErrorMsg 屬性中。轉換時,通過循環處理輸入字元串中的每個字元,根據字元的編碼范圍,選擇不同的轉換邏輯,最終生成UTF8格式的字元串並保存在 $utf8 屬性中。

在測試文件中,通過 Header 函數設置輸出類型為 PNG 圖像。使用 Imagecreate 創建一個 400x300 的圖像對象。使用 ImageColorAllocate 分別定義黑色和白色字體顏色。接著,調用 gb2utf8.php 文件中的 gb2utf8 類實例,並傳入待轉換的 GB2312 字元串 "123abc中國456def測試正確"。調用 Convert 函數執行轉換操作。使用 ImageTTFText 函數在圖像上繪制轉換後的 UTF8 字元串,字體為 SIMKAI.TTF,字體大小為 20。最後,使用 ImagePNG 將圖像輸出為 PNG 格式,並使用 ImageDestroy 刪除圖像對象。

這個代碼示例展示了如何使用 gb2utf8.php 類將 GB 編碼的中文文本轉換為 UTF8 編碼,並在圖像上顯示轉換後的結果。確保在使用字體前先進行字體文件的正確設置,確保可以正確顯示英文字元。通過這個測試文件,可以驗證 gb2utf8 類的功能是否正常工作,並檢查轉換後的字元串是否正確顯示在圖像上。

D. php中怎麼將GB18030轉換為UTF-8編碼

可以使用iconv函數對編碼進行轉換,iconv("gb18030", "utf-8", "要轉換的字元串");

iconv詳細用法如下:

iconv — 字元串按要求的字元編碼來轉換

stringiconv(string$in_charset,string$out_charset,string$str)

將字元串 str 從 in_charset 轉換編碼到 out_charset。

參數:

in_charset:輸入的字元集。

out_charset:輸出的字元集。

如果在 out_charset 後添加了字元串 //TRANSLIT,將啟用轉寫(transliteration)功能。

這個意思是,當一個字元不能被目標字元集所表示時,它可以通過一個或多個形似的字元來近似表達。

如果添加了字元串 //IGNORE,不能以目標字元集表達的字元將被默默丟棄。

否則,str 從第一個無效字元開始截斷並導致一個 E_NOTICE。

str:要轉換的字元串。

返回值:

返回轉換後的字元串, 或者在失敗時返回 FALSE。

E. 如何將phpinfo字元串類型轉換

php中iconv、mb_convert_encoding函數字元編碼轉換詳解如下:

iconv函數庫能夠完成各種字元集間的轉換,是php編程中不可缺少的基礎函數庫。

$string="親愛的朋友歡迎訪問博客,希望給您帶來一點點的幫助!";
iconv("utf8","gbk",$string)//將字元串string編碼由utf8轉變成gbk;
echo[MathProcessingError]str=′好,歡迎訪問博客,該博客記錄一個程序員的成長過程!′;echo′<br/>′;echoiconv(′GB2312′,′UTF−8′,str);//將字元串的編碼從GB2312轉到UTF-8
echo'<br/>';
echoiconv_substr([MathProcessingError]str,1,1,′UTF−8′);//按字元個數截取而非位元組printr(iconvgetencoding());//得到當前頁面編碼信息echoiconvstrlen(str,'UTF-8');//得到設定編碼的字元串長度
//也有這樣用的
[MathProcessingError]content=iconv("UTF−8","gbk//TRANSLIT",content);

1、iconv不是php的默認函數,也是默認安裝的模塊。需要安裝才能用的。

如果是windows2000+php,你可以修改php.ini文件,將extension=php_iconv.dll前的";"去掉,同時你要你的原php安裝文件下的iconv.dll到你的winnt/system32下(如果你的dll指向的是這個目錄,我本地的沒有操作這一步)

linux環境下,用靜態安裝的方式,在configure時加多一項 --with-iconv就可以了,phpinfo看得到iconv的項。(Linux7.3+Apache4.06+php4.3.2);

到此php中的iconv 介紹完畢

2、用iconv函數把抓取來過的utf-8編碼的頁面轉成gb2312, 發現只有用iconv函數把抓取過來的數據一轉碼數據就會無緣無故的少一些。原因是這樣的:

string iconv ( string in_charset, string out_charset, string str )

注意:第二個參數,除了可以指定要轉化到的編碼以外,還可以增加兩個後綴://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 會自動將不能直接轉化的字元變成一個或多個近似的字元,//IGNORE 會忽略掉不能轉化的字元,而默認效果是從第一個非法字元截斷。 被截斷了,當然就會少了;

可以這樣修改iconv("UTF-8","GB2312//IGNORE",$string) 會忽略掉不能轉化的字元;

  1. PHP中的mb_convert_encoding與iconv函數介紹

  2. mb_convert_encoding這個函數是用來轉換編碼的,和iconv函數差不多。

  3. 英文一般不會存在編碼問題,只有中文數據才會有這個問題。比如用Zend Studio或Editplus寫程序時,用的是gbk編碼,如果數據需要入資料庫,而資料庫的編碼為utf8時,這時就要把數據進行編碼轉換,不然進到資料庫就會變成亂碼。

  4. 做一個GBK To UTF-8

    <?php
    header("content-Type:text/html;charset=Utf-8");//設置字元的編碼是utp-8
    echomb_convert_encoding("你系我的友仔","UTF-8","GBK");
    ?>
  5. 再做GB2312 To Big5

<?php
header("content-Type:text/html;charset=big5");
echomb_convert_encoding("朋友","big5","GB2312");
?>

不過要使用上面的函數需要安裝但是需要先enable mbstring 擴展庫,道理還是一樣的,修改php.ini。

PHP中的另外一個函數iconv也是用來轉換字元串編碼的,與上函數功能相似。

下面還有一些詳細的例子:

iconv—
(PHP4>=4.0.5,PHP5)
mb_convert_encoding—Convertcharacterencoding
(PHP4>=4.0.6,PHP5)
  1. stringmb_convert_encoding(stringstr,stringto_encoding[,mixedfrom_encoding]
  2. 需要先enable mbstring 擴展庫,在 php.ini里將; extension=php_mbstring.dll 前面的 ;

  3. 去掉mb_convert_encoding 可以指定多種輸入編碼,它會根據內容自動識別,但是執行效率比iconv差太多;

  4. 那為何還要講解 這個 mb_convert_encoding()函數呢?答案如下:

  5. 發現iconv在轉換字元」—」到gb2312時會出錯,如果沒有ignore參數,所有該字元後面的字元串都無法被保存。不管怎麼樣,這個」—」都無法轉換成功,無法輸出。

  6. 另外mb_convert_encoding沒有這個bug.

一般情況下用 iconv,只有當遇到無法確定原編碼是何種編碼,或者iconv轉化後無法正常顯示時才用mb_convert_encoding 函數.

F. php 將中文轉換為GBK編碼

1、運行控制台,程序->運行,輸入CMD,點擊確定進入DOS操作系統 快捷鍵windows鍵+R鍵。

G. 用php可不可以把漢字轉換成字母數字形式

可以的,自己做的PHP函數可以實現。
用法
1先導入這個文件,include pinyin.php
2,使用函數轉換,在echo後寫入待轉換中文,即可輸出為漢字的拼音形式。全部為字母。
3,echo('漢字轉換拼音')---輸出為hanzizhuanhuanpinyin
PHP漢字轉換函數文件pinyin.php如下。如果想編輯,可使用editplus打開。
<?php function Pinyin($_String, $_Code='gb2312') { $_DataKey = "a|ai|an|ang|ao|ba||ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha". "|chai|chan|chang|chao|che|chen|cheng|chi|chong|chou|chu|chuai|chuan|chuang|chui|chun|chuo|ci|cong|cou|cu|". "cuan|cui|cun|cuo|da|dai|dan|dang||de|deng|di|dian|diao|die|ding|diu|dong|dou||an|i|n|o|e|en|er". "|fa|fan|fang|fei|fen|feng|fo|fou|fu|ga|gai|gan|gang|gao|ge|gei|gen|geng|gong|gou|gu|gua|guai|guan|guang|gui". "|gun|guo|ha|hai|han|hang|hao|he|hei|hen|heng|hong|hou|hu|hua|huai|huan|huang|hui|hun|huo|ji|jia|jian|jiang". "|jiao|jie|jin|jing|jiong|jiu|ju|juan|jue|jun|ka|kai|kan|kang|kao|ke|ken|keng|kong|kou|ku|kua|kuai|kuan|kuang". "|kui|kun|kuo|la|lai|lan|lang|lao|le|lei|leng|li|lia|lian|liang|liao|lie|lin|ling|liu|long|lou|lu|lv|luan|lue". "|lun|luo|ma|mai|man|mang|mao|me|mei|men|meng|mi|mian|miao|mie|min|ming|miu|mo|mou|mu|na|nai|nan|nang|nao|ne". "|nei|nen|neng|ni|nian|niang|niao|nie|nin|ning|niu|nong|nu|nv|nuan|nue|nuo|o|ou|pa|pai|pan|pang|pao|pei|pen". "|peng|pi|pian|piao|pie|pin|ping|po|pu|qi|qia|qian|qiang|qiao|qie|qin|qing|qiong|qiu|qu|quan|que|qun|ran|rang". "|rao|re|ren|reng|ri|rong|rou|ru|ruan|rui|run|ruo|sa|sai|san|sang|sao|se|sen|seng|sha|shai|shan|shang|shao|". "she|shen|sheng|shi|shou|shu|shua|shuai|shuan|shuang|shui|shun|shuo|si|song|sou|su|suan|sui|sun|suo|ta|tai|". "tan|tang|tao|te|teng|ti|tian|tiao|tie|ting|tong|tou|tu|tuan|tui|tun|tuo|wa|wai|wan|wang|wei|wen|weng|wo|wu". "|xi|xia|xian|xiang|xiao|xie|xin|xing|xiong|xiu|xu|xuan|xue|xun|ya|yan|yang|yao|ye|yi|yin|ying|yo|yong|you". "|yu|yuan|yue|yun|za|zai|zan|zang|zao|ze|zei|zen|zeng|zha|zhai|zhan|zhang|zhao|zhe|zhen|zheng||zhong|". "zhou|zhu|zhua|zhuai|zhuan|zhuang|zhui|zhun|zhuo|zi|zong|zou|zu|zuan|zui|zun|zuo"; $_DataValue = "-20319|-20317|-20304|-20295|-20292|-20283|-20265|-20257|-20242|-20230|-20051|-20036|-20032|-20026|-20002|-19990". "|-19986|-19982|-19976|-19805|-19784|-19775|-19774|-19763|-19756|-19751|-19746|-19741|-19739|-19728|-19725". "|-19715|-19540|-19531|-19525|-19515|-19500|-19484|-19479|-19467|-19289|-19288|-19281|-19275|-19270|-19263". "|-19261|-19249|-19243|-19242|-19238|-19235|-19227|-19224|-19218|-19212|-19038|-19023|-19018|-19006|-19003". "|-18996|-18977|-18961|-18952|-18783|-18774|-18773|-18763|-18756|-18741|-18735|-18731|-18722|-18710|-18697". "|-18696|-18526|-18518|-18501|-18490|-18478|-18463|-18448|-18447|-18446|-18239|-18237|-18231|-18220|-18211". "|-18201|-18184|-18183|-18181|-18012|-17997|-17988|-17970|-17964|-17961|-17950|-17947|-17931|-17928|-17922". "|-17759|-17752|-17733|-17730|-17721|-17703|-17701|-17697|-17692|-17683|-17676|-17496|-17487|-17482|-17468". "|-17454|-17433|-17427|-17417|-17202|-17185|-16983|-16970|-16942|-16915|-16733|-16708|-16706|-16689|-16664". "|-16657|-16647|-16474|-16470|-16465|-16459|-16452|-16448|-16433|-16429|-16427|-16423|-16419|-16412|-16407". "|-16403|-16401|-16393|-16220|-16216|-16212|-16205|-16202|-16187|-16180|-16171|-16169|-16158|-16155|-15959". "|-15958|-15944|-15933|-15920|-15915|-15903|-15889|-15878|-15707|-15701|-15681|-15667|-15661|-15659|-15652". "|-15640|-15631|-15625|-15454|-15448|-15436|-15435|-15419|-15416|-15408|-15394|-15385|-15377|-15375|-15369". "|-15363|-15362|-15183|-15180|-15165|-15158|-15153|-15150|-15149|-15144|-15143|-15141|-15140|-15139|-15128". "|-15121|-15119|-15117|-15110|-15109|-14941|-14937|-14933|-14930|-14929|-14928|-14926|-14922|-14921|-14914". "|-14908|-14902|-14894|-14889|-14882|-14873|-14871|-14857|-14678|-14674|-14670|-14668|-14663|-14654|-14645". "|-14630|-14594|-14429|-14407|-14399|-14384|-14379|-14368|-14355|-14353|-14345|-14170|-14159|-14151|-14149". "|-14145|-14140|-14137|-14135|-14125|-14123|-14122|-14112|-14109|-14099|-14097|-14094|-14092|-14090|-14087". "|-14083|-13917|-13914|-13910|-13907|-13906|-13905|-13896|-13894|-13878|-13870|-13859|-13847|-13831|-13658". "|-13611|-13601|-13406|-13404|-13400|-13398|-13395|-13391|-13387|-13383|-13367|-13359|-13356|-13343|-13340". "|-13329|-13326|-13318|-13147|-13138|-13120|-13107|-13096|-13095|-13091|-13076|-13068|-13063|-13060|-12888". "|-12875|-12871|-12860|-12858|-12852|-12849|-12838|-12831|-12829|-12812|-12802|-12607|-12597|-12594|-12585". "|-12556|-12359|-12346|-12320|-12300|-12120|-12099|-12089|-12074|-12067|-12058|-12039|-11867|-11861|-11847". "|-11831|-11798|-11781|-11604|-11589|-11536|-11358|-11340|-11339|-11324|-11303|-11097|-11077|-11067|-11055". "|-11052|-11045|-11041|-11038|-11024|-11020|-11019|-11018|-11014|-10838|-10832|-10815|-10800|-10790|-10780". "|-10764|-10587|-10544|-10533|-10519|-10331|-10329|-10328|-10322|-10315|-10309|-10307|-10296|-10281|-10274". "|-10270|-10262|-10260|-10256|-10254";
$_TDataKey = explode('|', $_DataKey);
$_TDataValue = explode('|', $_DataValue);
$_Data = (PHP_VERSION>='5.0') ? array_combine($_TDataKey, $_TDataValue) : _Array_Combine($_TDataKey, $_TDataValue);
arsort($_Data);
reset($_Data);
if($_Code != 'gb2312') $_String = _U2_Utf8_gb($_String);
$_Res = '';
for($i=0;$i<strlen($_String);$i++){
$_P = ord(substr($_String, $i, 1));
if($_P>160){
$_Q = ord(substr($_String, ++$i, 1));
$_P = $_P*256 + $_Q - 65536;
}
$_Res .=_Pinyin($_P, $_Data);
}
$cls_str=array("!","@","#","$","%","^","&","*","(",")","~","<",">","{","}","[","]","?",",",".","/","\\","|","+"," ");
return str_replace($cls_str,"",$_Res);//preg_replace("/[^a-z0-9]*/", '', $_Res);
}

function _Pinyin($_Num, $_Data) {
if ($_Num>0 && $_Num<160 ) return chr($_Num);
elseif($_Num<-20319 || $_Num>-10247) return '';
else {
foreach($_Data as $k=>$v){ if($v<=$_Num) break;
} // return "_".$k;
return $k;
}
} function _U2_Utf8_gb($_C) {
$_String = '';
if($_C < 0x80) $_String .= $_C;
elseif($_C < 0x800) {
$_String .= chr(0xC0 | $_C>>6);
$_String .= chr(0x80 | $_C & 0x3F);
}elseif($_C < 0x10000){
$_String .= chr(0xE0 | $_C>>12);
$_String .= chr(0x80 | $_C>>6 & 0x3F);
$_String .= chr(0x80 | $_C & 0x3F);
} elseif($_C < 0x200000) {
$_String .= chr(0xF0 | $_C>>18);
$_String .= chr(0x80 | $_C>>12 & 0x3F);
$_String .= chr(0x80 | $_C>>6 & 0x3F);
$_String .= chr(0x80 | $_C & 0x3F);
} return iconv('UTF-8', 'gb2312', $_String);
}
function _Array_Combine($_Arr1, $_Arr2) {
for($i=0;$i<count($_Arr1);$i++) $_Res[$_Arr1[$i]] = $_Arr2[$i];
return $_Res;
}
echo Pinyin('漢字轉拼音測試');
//默認是gb編碼

?>

閱讀全文

與phpgb轉換相關的資料

熱點內容
安卓的全面屏手勢怎麼用 瀏覽:413
python列印偶數 瀏覽:61
密碼編譯學與網路安全pdf 瀏覽:836
東觀漢記pdf 瀏覽:611
培訓資料加密排行榜 瀏覽:548
pdf養顏色 瀏覽:219
電腦桌面的截圖如何拉到文件夾 瀏覽:101
php代碼解析器 瀏覽:230
紅樓夢pdf微盤 瀏覽:460
於振南單片機 瀏覽:402
帝王代掛前台源碼 瀏覽:561
phpcgi配置文件 瀏覽:282
女程序員小9的生活記 瀏覽:813
超微伺服器管理口地址更改 瀏覽:854
怎麼在本機創建一個svn伺服器地址 瀏覽:557
永久pdf 瀏覽:963
phpgb轉換 瀏覽:874
手機pdf推薦 瀏覽:582
12個小時胎動演算法 瀏覽:475
地下城補丁解壓為什麼沒有許可權 瀏覽:793