不用iconv函數(shù)實現(xiàn)UTF-8編碼轉(zhuǎn)換GB2312的PHP函數(shù)
Jun 08, 2016 pm 05:33 PM假如使用 iconv() 函數(shù)轉(zhuǎn)換編碼就相比比較簡單了,不過很多虛擬主機里并不支持這個組件,我在網(wǎng)上找半天,才找到一個gb2312轉(zhuǎn)utf-8的方法,但不能逆向轉(zhuǎn)換。
這個函數(shù)如下:
/*******************************
//GB轉(zhuǎn)UTF-8編碼
*******************************/
function gb2utf8($gbstr) {
global $CODETABLE;
if(trim($gbstr)=="") return $gbstr;
if(empty($CODETABLE)){
$filename = dirname(__FILE__)."/gb2312-utf8.table";
$fp = fopen($filename,"r");
while ($l = fgets($fp,15))
{ $CODETABLE[hexdec(substr($l, 0, 6))] = substr($l, 7, 6); }
fclose($fp);
}
$ret = "";
$utf8 = "";
while ($gbstr) {
if (ord(substr($gbstr, 0, 1)) > 127) {
$thisW = substr($gbstr, 0, 2);
$gbstr = substr($gbstr, 2, strlen($gbstr));
$utf8 = "";
@$utf8 = u2utf8(hexdec($CODETABLE[hexdec(bin2hex($thisW)) - 0x8080]));
if($utf8!=""){
for ($i = 0;$i
$ret .= chr(substr($utf8, $i, 3));
}
}
else
{
$ret .= substr($gbstr, 0, 1);
$gbstr = substr($gbstr, 1, strlen($gbstr));
}
}
return $ret;
}
//Unicode轉(zhuǎn)utf8
function u2utf8($c) {
for ($i = 0;$i
$str = "";
if ($c
$str .= $c;
} else if ($c
$str .= (0xC0 | $c >> 6);
$str .= (0x80 | $c & 0x3F);
} else if ($c
$str .= (0xE0 | $c >> 12);
$str .= (0x80 | $c >> 6 & 0x3F);
$str .= (0x80 | $c & 0x3F);
} else if ($c
$str .= (0xF0 | $c >> 18);
$str .= (0x80 | $c >> 12 & 0x3F);
$str .= (0x80 | $c >> 6 & 0x3F);
$str .= (0x80 | $c & 0x3F);
}

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機

Video Face Swap
使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)

這篇文章將為大家詳細(xì)講解有關(guān)PHP返回字符串第一個字符的ASCII值,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。PHP返回字符串第一個字符的ASCII值引言在php中,獲取字符串第一個字符的ASCII值是一個常見的操作,涉及到字符串處理和字符編碼基礎(chǔ)知識。ASCII值用于表示字符在計算機系統(tǒng)中的數(shù)字值,對于字符比較、數(shù)據(jù)傳輸和存儲至關(guān)重要。過程獲取字符串第一個字符的ASCII值涉及以下步驟:獲取字符串:確定要獲取ASCII值的字符串。它可以是變量、字符串常量

這篇文章將為大家詳細(xì)講解有關(guān)PHP返回一個字符串在另一個字符串中開始位置到結(jié)束位置的字符串,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。PHP中使用substr()函數(shù)從字符串中提取子字符串substr()函數(shù)可從字符串中提取指定范圍內(nèi)的字符。其語法如下:substr(string,start,length)其中:string:要從中提取子字符串的原始字符串。start:子字符串開始位置的索引(從0開始)。length(可選):子字符串的長度。如果未指定,則提

php提交表單通過后,彈出的對話框怎樣在當(dāng)前頁彈出php提交表單通過后,彈出的對話框怎樣在當(dāng)前頁彈出而不是在空白頁彈出?想實現(xiàn)這樣的效果:而不是空白頁彈出:------解決方案--------------------如果你的驗證用PHP在后端,那么就用Ajax;僅供參考:HTML code

1Unicode計算機存儲的基本單位是字節(jié),由8個比特位組成。由于英文只由26個字母加若干符號組成,因此英文字符可以直接用字節(jié)來保存。但是其他語言(例如中日韓等),由于字符眾多,不得不使用多個字節(jié)來進行編碼。隨著計算機技術(shù)的傳播,非拉丁文字符編碼技術(shù)不斷發(fā)展,但是仍然存在兩個比較大的局限性:不支持多語言:一種語言的編碼方案不能用于另外一種語言沒有統(tǒng)一標(biāo)準(zhǔn):例如中文就有GBK、GB2312、GB18030等多種編碼標(biāo)準(zhǔn)由于編碼方式不統(tǒng)一,開發(fā)人員就需要在不同編碼之間來回轉(zhuǎn)換,不可避免地會出現(xiàn)很多錯

__str__和__repr__有什么異同?字符串的表示形式我們都知道,Python的內(nèi)置函數(shù)repr()能夠把對象用字符串的形式表達出來,方便我們辨認(rèn)。這就是“字符串表示形式”。repr()就是通過__repr__這個特殊方法來得到一個對象的字符串表示形式的。如果沒有實現(xiàn)__repr__,當(dāng)我們在控制臺里打印一個向量的實例時,得到的字符串可能會是。>>>classExample:pass>>>print(str(Example()))>>>

了解PHP中的substr()函數(shù)用于截取字符串在PHP語言中,substr()函數(shù)是一個非常有用的字符串處理函數(shù),它可以用于截取指定位置和長度的字符串片段。substr()函數(shù)接受三個參數(shù):待截取的字符串、截取的起始位置和截取的長度。下面我們將詳細(xì)介紹substr()函數(shù)的使用方法,并給出具體的代碼示例。substr()函數(shù)的基本用法substr()函數(shù)的

使用PHP函數(shù)"substr"獲取字符串的子串在PHP編程中,經(jīng)常會遇到需要獲取字符串的部分內(nèi)容的情況。這時,我們可以使用PHP內(nèi)置的函數(shù)"substr"來實現(xiàn)。本文將介紹如何使用"substr"函數(shù)獲取字符串的子串,并提供一些代碼示例。一、substr函數(shù)的基本用法substr函數(shù)用于從字符串中獲取指定長度的子串。其基本語法如下:substr(

PHPmb_substr函數(shù)無效的處理方案在開發(fā)PHP應(yīng)用程序時,經(jīng)常會用到mb_substr函數(shù)來截取字符串。然而,有時候可能會遇到mb_substr函數(shù)無效的情況,主要是因為在不同環(huán)境中字符編碼的問題。為了解決這個問題,我們需要對mb_substr函數(shù)進行有效的處理。一種常見的處理方案是通過設(shè)置合適的字符編碼和截取長度來確保mb_substr函數(shù)能
