在php 中使用htmlentities導(dǎo)致中文無法查詢?nèi)绾谓鉀Q?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)建站從2013年創(chuàng)立,先為孝感等服務(wù)建站,孝感等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為孝感企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。在php中htmlspecialchars, 將特殊字元轉(zhuǎn)成 HTML 格式,而htmlentities,將所有的字元都轉(zhuǎn)成 HTML 字串
htmlentities用法
$str = "John & 'Adams'"; echo htmlentities($str, ENT_COMPAT); echo " "; echo htmlentities($str, ENT_QUOTES); echo " "; echo htmlentities($str, ENT_NOQUOTES); ?> John & 'Adams' John & 'Adams' John & 'Adams'
瀏覽器輸出:
htmlspecialchars用法
& (和) 轉(zhuǎn)成 &
" (雙引號) 轉(zhuǎn)成 "
< (小于) 轉(zhuǎn)成 <
> (大于) 轉(zhuǎn)成 >
例
$str = "John & 'Adams'"; echo htmlspecialchars($str, ENT_COMPAT); echo " "; echo htmlspecialchars($str, ENT_QUOTES); echo " "; echo htmlspecialchars($str, ENT_NOQUOTES); ?>
他們的區(qū)別
這兩個函數(shù)的功能都是轉(zhuǎn)換字符為HTML字符編碼,特別是url和代碼字符串。防止字符標(biāo)記被瀏覽器執(zhí)行。使用中文時沒什么區(qū)別,但htmlentities會格式化中文字符使得中文輸入是亂碼
htmlentities轉(zhuǎn)換所有的html標(biāo)記,htmlspecialchars只格式化& ' " < 和 > 這幾個特殊符號
效果:
$str = '測試頁面';
echo 'htmlentities指定GB2312編碼:'.htmlentities($str,ENT_COMPAT,"GB2312").'';
echo 'htmlentities未指定編碼:'.htmlentities($str).'';
$str = '測試頁面';
echo htmlspecialchars($str).'';
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。