您現在的位置: 365建站網 > 365學習 > php5.4以上版本GBK編碼下htmlspecialchars輸出為空的兼容性處理方法

php5.4以上版本GBK編碼下htmlspecialchars輸出為空的兼容性處理方法

文章來源:365jz.com     點擊數:442    更新時間:2019-05-18 17:26   參與評論

從舊版升級到PHP5.4,恐怕最麻煩的就是HTMLspecialchars這個問題了!當然,htmlentities也會受影響,不過,對于中文站來說一般用htmlspecialchars比較常見,htmlentities非常少用到。

可能老外認為網頁普遍應該是utf-8編碼的,于是苦了那些用GB2312,GBK編碼的中文站......!

PHP htmlspecialchars() 函數

PHP String 函數


實例

把預定義的字符 "<" (小于)和 ">" (大于)轉換為 HTML 實體:


<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>

以上代碼的 HTML 輸出如下(查看源代碼):


<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>

以上代碼的瀏覽器輸出:


This is some <b>bold</b> text.


htmlspecialchars() 函數把預定義的字符轉換為 HTML 實體。


預定義的字符是:


& (和號)成為 &

" (雙引號)成為 "

' (單引號)成為 '

< (小于)成為 <

> (大于)成為 >

提示:如需把特殊的 HTML 實體轉換回字符,請使用 htmlspecialchars_decode() 函數。



在使用php5.4以上版本以上時會有一個函數可能會報錯

如下

QQ截圖20160731183931.png

Warning: htmlspecialchars(): charset `gbk' not supported, assuming utf-8

原因是因為5.4以上這個函數默認為utf8編碼沒有gbk所有傳進去的參數如果有中文就會報上面這個錯誤

如果你的程序用的是gbk的話就可以使用下面這個方法

給htmlspecialchars()傳后兩個參數

如下:


htmlspecialchars($str,ENT_COMPAT,'GB2312');//這樣就不會報錯啦

如果你的程序里用啦好多這個函數,那就要你一個一個替換嘍

還有一種情況,如果你的程序是utf8的那么檢查下你的php.ini中的字符集配置是不是下面gbk的如果是就改成utf-8同樣的就不會報錯啦


default_charset = "UTF-8"
;default_charset = "GBK"

按上面的把gbk這行注釋掉,使用默認utf-8的編碼就可以啦


函數寫法:

function JZ_htmlspecialchars($str) {
    global $cfg_soft_lang;
    if (version_compare(PHP_VERSION, '5.4.0', '<')) return htmlspecialchars($str);
    if ($cfg_soft_lang=='gb2312') return htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');
    else return htmlspecialchars($str);
}

調用:dede_htmlspecialchars('你的代碼');


如對本文有疑問,請提交到交流論壇,廣大熱心網友會為你解答??! 點擊進入論壇


發表評論 (442人查看,0條評論)
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
用戶名: 驗證碼: 點擊我更換圖片
最新評論
------分隔線----------------------------
自拍偷拍福力视频,偷拍国际精品,麻豆一区福利电影,国产网红视频午夜福利,se视频大全,久久国产AV影院 k频道分享系统进入口| 交换美妇系列| 被黑人做的白浆直流| 女人脱裤子让男生桶爽视频| a片在线观看全免费| 少妇不带套直接进去全过程| 成本人片在线观看| 国产成人免费视频一区二区三区| 中国熟妇人妻videos| 真实14初次破初视频在线播放| 免费国产污网站在线观看不要卡| 12 13x x videos chain| 10一13周岁毛片在线| a√无码亚洲不卡播放网站| 宝贝,这么湿,想要吗| 成年永久免费播放平台| av片亚洲国产男人的天堂| 欧美成人国产精品视频| >japantubeschoolHD| 亚洲色一色噜一噜噜噜人与| 女人爽到喷水的视频大全| 老妇肥熟凸凹丰满刺激| 深夜福利视频80| >Myreadingmanga| 大杳蕉便八在线综合网络 | 欧美日韩免费专区在线| 放荡老师淑敏办公室全集目录| 教室啪啪高挑长腿正在播放| 五月爱婷婷六月丁香色| 偷拍自拍亚洲视频在线观看| 欧美av免费看| http://www.miketaylor-dj.com