PHP之字串所使用的字符集處理及轉換

2021-09-25 22:09:01 字數 750 閱讀 6435

$encode = mb_detect_encoding($str,array('ascii', 'gb2312', 'gbk', 'utf-8'));
方法詳見php手冊,要注意的是,如果$str會匹配陣列指定的多個字符集,那麼以匹配到的第乙個字符集為準。比如:如果$str既是gb2312(euc-cn),又是是gbk(cp936),還是utf-8,那麼最終會返回哪種字符集,取決於陣列指定的字符集的順序,以先匹配的字符集為準。

1、iconv($from,$to,$str)

該函式是php內建函式,執行效率高。比如把$str從gbk轉成utf-8:

$str_encode = iconv('gbk','utf-8', $str);
第二個引數$to中最後還可以跟//translit或//ignore,分別表示:

1>//translit:將不能轉化的字元變成乙個或多個近似的字元;

2>//ignore:忽略掉不能轉化的字元,預設從第乙個非法字元截斷;

2、mb_convert_encoding($str,$to,$from) 

使用該函式需啟用php的mbstring (multi-byte string)擴充套件,執行效率比iconv差,$from可以是字符集陣列。比如把$str從gbk轉成utf-8:

$str_encode = mb_convert_encoding($str, 'utf-8', 'gbk');

字符集之間轉換 字串處理(一)

字符集之間轉換 utf 8,unicode,gb2312 特蒐集了utf 8,unicode,gb2312他們3個之間的相互轉換.utf 8 1 3位元組可變 unicode 2位元組乙個字元 gb2312 1位元組乙個字元 例子 你 字的utf 8編碼 e4 bd a0 11100100 1011...

根據指定字符集拆分任意字串

題目真不知道怎麼寫。我經常自己做一些小工具,所以並沒啥系統的東西可寫,這也並不是我想寫系統的東西,而且看別人寫的高大上的東西我也一點都不羨慕,真的 具體是這樣,有乙個列表,裡面存放的是一些不重複的字元,假定這些字元就是我需要找出的,或者說在我這個工具中,我需要在乙個任意字串中分別找出字元列表中有的和...

C 對字串轉換字符集(編碼)

最近,linux上遇到string為漢字時,需要轉碼存入到資料庫中,將轉碼的函式及其方法記錄一下。見函式 標頭檔案是 include fromcode 源string使用的字符集,如 utf 8 對於漢字每個漢字為3個位元組儲存 tocode 目的string使用的字符集,如 gb2312 對於漢字...