php如何转编码
php轉(zhuǎn)編碼的實(shí)現(xiàn)方法:1、使用iconv函數(shù)轉(zhuǎn)換目標(biāo)編碼,語(yǔ)法如“iconv(‘GBK’,'UTF-8′,$instr);”;2、通過(guò)mb_convert_encoding函數(shù)轉(zhuǎn)換編碼。
推薦:《PHP視頻教程》
在使用PHP處理字符串時(shí),我們經(jīng)常會(huì)碰到字符編碼轉(zhuǎn)換的問題,你碰到過(guò)iconv轉(zhuǎn)換失敗嗎?
發(fā)現(xiàn)問題時(shí),網(wǎng)上搜了搜,才發(fā)現(xiàn)iconv原來(lái)有bug ,碰到一些生僻字就會(huì)無(wú)法轉(zhuǎn)換,當(dāng)然了配置第二個(gè)參數(shù)時(shí),可以稍微彌補(bǔ)一下默認(rèn)缺陷,不至于無(wú)法轉(zhuǎn)換是截?cái)啵梅ㄈ缦?/p>
iconv(“UTF-8″,”GB2312//IGNORE”,$data) ;
這樣碰到生僻字轉(zhuǎn)換失敗時(shí),它就會(huì)忽略失敗,繼續(xù)轉(zhuǎn)換下面的內(nèi)容,這算解決問題的一個(gè)辦法,不過(guò)為了確保轉(zhuǎn)換的成功率,我們可以用另一個(gè)轉(zhuǎn)換函數(shù)(mb_convert_encoding),查資料網(wǎng)上說(shuō),這個(gè)函數(shù)效率不是很高,另外這個(gè)函數(shù)還可以省略第三個(gè)參數(shù),自動(dòng)識(shí)別內(nèi)容編碼,不過(guò)最好不要用,影響效率,還需要注意的時(shí),mb_convert_encoding和iconv參數(shù)順序不一樣,一定要注意。
附兩個(gè)函數(shù)簡(jiǎn)單的用法:
iconv
string iconv ( string $in_charset , string $out_charset , string $str )
第一個(gè)參數(shù):內(nèi)容原的編碼
第二個(gè)參數(shù):目標(biāo)編碼
第三個(gè)參數(shù):要轉(zhuǎn)的字符串
函數(shù)返回字符串
<?php $instr = ‘測(cè)試’; // GBK轉(zhuǎn)UTF-8 $outstr = iconv(‘GBK’,'UTF-8′,$instr); ?>
mb_convert_encoding
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )
第一個(gè)參數(shù):要處理的字符串
第二個(gè)參數(shù):目標(biāo)編碼
第三個(gè)參數(shù):內(nèi)容原編碼
<?php $instr = '測(cè)試'; // GBK轉(zhuǎn)UTF-8 $outstr = mb_convert_encoding($instr,'UTF-8','GBK',); ?>
個(gè)人建議碰到轉(zhuǎn)碼問題時(shí)采用mb_convert_encoding比較保險(xiǎn)。
總結(jié)
- 上一篇: unity hub是什么东西
- 下一篇: Managed keyedState中的