在最新的php5.4.3下安裝帝國后,發現帝國的模板內容都無法顯示,但是把模板源代碼復制過去,刷新后發現是可以正常顯示頁面的,可以得出結論,數據庫內容是沒有問題的,只是顯示問題.
從網上查找相關資料,并經過高手指點,發現是由于htmlspecialchars和htmlentities函數,默認會使用utf-8來處理字符串,如果輸入的字符串是GBK編碼,返回的結果是空的.
解決的方法如下:
1、坐等帝國更改這個BUG。
2、重裝一個低版本的PHP。
3、修改帝國模板PHP文件中的htmlspecialchars函數。
以e/admin/template/EditPublicTem.php為例,該文件控制顯示公共模板下的首頁模板、控制模板等的顯示.
首頁模板顯示代碼:
<?=htmlspecialchars(stripSlashes($r[indextemp]))?>
可修改為:
<?=htmlspecialchars(stripSlashes($r[indextemp]),ENT_COMPAT,"GB2312")?>
最后一個參數為要轉換成的編碼格式,不過,整套后臺文件有700+處需要修改,所以不建議采用該方法.
新聞熱點
疑難解答