龍巖易富通網(wǎng)絡(luò)科技有限公司

龍巖小程序開發(fā),龍巖分銷系統(tǒng)

php5.4后htmlspecialchars輸出為空的問題

2015.09.10 | 1544閱讀 | 0條評論 | php

PHP 5.4.3 環(huán)境中測試了一個(gè)在 PHP 5.2 環(huán)境下運(yùn)行正常的程序,卻發(fā)現(xiàn)本應(yīng)正常提交一個(gè)中文字符串到數(shù)據(jù)庫的代碼卻提交了一個(gè)空字符串,經(jīng)過排查,該字符串在經(jīng) htmlspecialchars 函數(shù)轉(zhuǎn)義之前正常,而在轉(zhuǎn)義之后卻變成了空字符串。調(diào)用例子如下:


$str = '中文字符串';

$str_converted = htmlspecialchars($str);

echo $str_converted; 遂查看PHP手冊,獲知 htmlspecialchars 函數(shù)原型如下:

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] ) 更新日志里面又有提到:

5.4.0 The default value for the encoding parameter was changed to UTF-8. 

5.4.0 The constants ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML and ENT_HTML5 were added. PHP 從 5.4.0 版本開始第三個(gè)參數(shù)字符串編碼的默認(rèn)值改成了 UTF-8,而我這段代碼中的中文編碼正好是 GB2312 編碼的,跟現(xiàn)在的默認(rèn)參數(shù)不一致,于是更改調(diào)用參數(shù)如下:

$str = '中文字符串';

# 為了與舊環(huán)境兼容,這里第二個(gè)參數(shù)沒有組合使用 PHP 5.4 新加入的 ENT_HTML401 常量

$str_converted = htmlspecialchars($str, ENT_COMPAT ,'GB2312');

echo $str_converted; 這樣,“中文字符串”就可以正常顯示了。為了使 PHP 5.4 之前環(huán)境中編寫的代碼能夠向前兼容,建議調(diào)用 htmlspecialchars 函數(shù)的的時(shí)候都提供字符串編碼參數(shù)。


贊 (

發(fā)表評論

主站蜘蛛池模板: 亚洲色欲色欲综合网站| 区三区激情福利综合中文字幕在线一区亚洲视频1| 欧美综合图区亚洲综合图区| 2020久久精品亚洲热综合一本| 精品综合久久久久久98| 五月天激激婷婷大综合丁香| 亚洲AV成人潮喷综合网| 欧美日韩国产综合视频在线观看| 综合久久国产九一剧情麻豆| 色777狠狠狠综合| 欧美成人综合视频| 97久久婷婷五月综合色d啪蜜芽| 国产精品国产欧美综合一区| 久久亚洲精品人成综合网| 欧洲 亚洲 国产图片综合| 亚洲亚洲人成综合网络| 国产成人人综合亚洲欧美丁香花| 欧美综合自拍亚洲综合图片区| 97久久久精品综合88久久| 国产综合无码一区二区辣椒| 色婷婷综合缴情综免费观看| 色88久久久久高潮综合影院| 国产综合色在线视频区| 久久香综合精品久久伊人| 色综合色天天久久婷婷基地| 五月天激情综合网丁香婷婷| 久久综合精品国产一区二区三区| 久久综合亚洲欧美成人| 色综合天天综合网站中国| 伊人久久综合无码成人网| 色偷偷91久久综合噜噜噜噜| 国产色综合一二三四| 一本大道加勒比久久综合| 久久香综合精品久久伊人| 色偷偷91久久综合噜噜噜噜| 久久婷婷五月综合国产尤物app| 欧美日韩国产综合视频一区二区三区| 99久久国产综合精品五月天喷水| 国产色婷婷五月精品综合在线| 国内偷自视频区视频综合| 欧美在线观看综合国产|