99麻豆久久久国产免费福利精品,国产精品成人国产乱,玖玖操,手机看片169,国产精彩视频在线观看,午夜亚洲福利视频,国产伦乱视频

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

龍巖小程序開(kāi)發(fā),龍巖分銷(xiāo)系統

php5.4后htmlspecialchars輸出為空的問(wèn)題

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

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


$str = '中文字符串';

$str_converted = htmlspecialchars($str);

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

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 版本開(kāi)始第三個(gè)參數字符串編碼的默認值改成了 UTF-8,而我這段代碼中的中文編碼正好是 GB2312 編碼的,跟現在的默認參數不一致,于是更改調用參數如下:

$str = '中文字符串';

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

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

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


贊 (

發(fā)表評論

永安市| 侯马市| 城固县| 张掖市| 宝兴县| 黄石市| 金阳县| 贡嘎县| 廊坊市| 栾城县| 华阴市| 宁国市| 瓦房店市| 怀宁县| 台安县| 花垣县| 莱州市| 敖汉旗| 平远县| 泽库县| 五台县| 仙居县| 扶绥县| 甘谷县| 阳泉市| 南阳市| 红安县| 通州市| 南漳县| 宿松县| 扶余县| 四子王旗| 墨玉县| 景洪市| 建始县| 巴彦县| 玛多县| 临沂市| 堆龙德庆县| 东方市| 黔西|