PHP學(xué)習(xí)筆記之字符串編碼的轉(zhuǎn)換和判斷
iconv('GBK', 'UTF-8//IGNORE', '腳本之家'); // 將字符串由 GBK 編碼轉(zhuǎn)換為 UTF-8 編碼
但 iconv 只能解決編碼預(yù)先知道的情況,如果字符串編碼未知,則需要先探測(cè)其編碼,這時(shí)可能會(huì)用到 mb_string 擴(kuò)展庫(kù):
mb_detect_encoding('腳本之家');
可是 mb_detect_encoding 存在一個(gè)硬傷,經(jīng)常出現(xiàn)判斷不準(zhǔn)確的情況?;蛟S這樣就可以解決:
// 使用 iconv 轉(zhuǎn)換并判斷是否等值,效率不高
function is_utf8 ($str) {
if ($str === iconv('UTF-8', 'UTF-8//IGNORE', $str)) {
return 'UTF-8';
}
}
// 多種編碼的情況
function detect_encoding ($str) {
foreach (array('GBK', 'UTF-8') as $v) {
if ($str === iconv($v, $v . '//IGNORE', $str)) {
return $v;
}
}
}
通過(guò)以上方式得到字符串編碼信息后,就可以利用 iconv 或 mb_convert_encoding 來(lái)轉(zhuǎn)換編碼了。
相關(guān)文章
PHP結(jié)合jQuery實(shí)現(xiàn)找回密碼
本文將使用PHP+Mysql+jQuery來(lái)實(shí)現(xiàn)一個(gè)密碼找回的功能,分享給大家思路和具體的代碼,有需要的小伙伴可以參考下。2015-07-07php中mail函數(shù)發(fā)送郵件失敗的解決方法
這篇文章主要介紹了php中mail函數(shù)發(fā)送郵件失敗的解決方法,涉及針對(duì)Linux運(yùn)行平臺(tái)相關(guān)組件的配置技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12從0構(gòu)建Oauth2Server服務(wù)?之Token?編解碼
這篇文章主要為大家介紹了從0構(gòu)建Oauth2Server服務(wù)之Token編解碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05PHP與Perl之間知識(shí)點(diǎn)區(qū)別整理
在本篇文章里小編給大家分享了關(guān)于PHP與Perl的卻別以及相關(guān)知識(shí)點(diǎn)整理,有興趣的朋友們學(xué)習(xí)下。2019-03-03PHP5多態(tài)性與動(dòng)態(tài)綁定介紹
這篇文章主要介紹了PHP5多態(tài)性與動(dòng)態(tài)綁定介紹,本文主要講解了什么是多態(tài)性和什么是動(dòng)態(tài)綁定,并給出相應(yīng)實(shí)例,需要的朋友可以參考下2015-04-04PHP實(shí)現(xiàn)微信掃碼登錄功能的兩種方式總結(jié)
這篇文章主要為大家介紹了利用PHP實(shí)現(xiàn)微信掃碼登錄功能的兩種方式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定借鑒價(jià)值,需要的可以參考一下2022-08-08