在沒用PHP5.4的環(huán)境做Dede后臺(tái)的時(shí)候,織夢(mèng)無憂一直沒有遇到這個(gè)問題,昨天上傳一個(gè)新的模版到空間去測試發(fā)現(xiàn)后臺(tái)的系統(tǒng)基本參數(shù)設(shè)置中所有的中文內(nèi)容都無法保存,關(guān)于這個(gè)問題,其實(shí)以前也聽說過,知識(shí)一直沒有遇到,這是因?yàn)榫W(wǎng)站編碼的問題,UTF-8版本的織夢(mèng)后臺(tái)在PHP5.4環(huán)境下沒有這個(gè)問題,只有GBK版本的后臺(tái)才會(huì)出現(xiàn)這個(gè)問題,所以需要給表單中的中文轉(zhuǎn)碼踩能解決這個(gè)問題。
一、后臺(tái)基本參數(shù)無法保存中文的解決方法:
打開dede\templets\sys_info.htm,查找代碼(大概在182行和192行,注意有兩處)
htmlspecialchars($row['value'])
都替換成:
htmlspecialchars($row['value'],ENT_COMPAT ,'GB2312')
如果還發(fā)現(xiàn)有其他頁面也有這個(gè)問題,同理,打開對(duì)應(yīng)的模版文件,搜索相同字符再替換即可解決。
二、編輯器的中文無法保存的解決方法:
打開include/ckeditor/ckeditor_php5.php,查找代碼(大概在第137行)
dede_htmlspecialchars($value)
修改成
dede_htmlspecialchars($value, ENT_COMPAT, 'GB2312' )
三、文章發(fā)布頁標(biāo)簽不顯示的解決方法:
打開dede/article_add.php 和 dede/article_edit.php,查找代碼(分別在第101行和第108行)
dede_htmlspecialchars(cn_substrR($title,$cfg_title_maxlen))
均改為:
dede_htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312')
四、中文tag無法顯示的解決方法:
打開 dede/templets/tags_main.htm,查找代碼(大概在第82行)
htmlspecialchars($fields['tag'])
修改為:
htmlspecialchars($fields['tag'],ENT_COMPAT ,'GB2312')
以上四個(gè)解決方法基本能搞定gbk版本的Dede后臺(tái)在PHP5.4環(huán)境下不顯示中文的問題,其實(shí)就是加了一個(gè)轉(zhuǎn)碼而已,原理很簡單,如果還有其他什么地方的問題,可以參考此方法做類似修改。
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: 織夢(mèng)后臺(tái)系統(tǒng)設(shè)置在PHP5.4環(huán)境中不能保存中文參數(shù)的解決方法