織夢系統我一直都是在用utf8版的,最近看重一個模板,就買了,可是上傳到服務器發現系統基本設置下面不能保存中文,網上沒找到很好的方法,自己看了一下,發現是網站編碼的問題,我utf8的織夢在php5.4下就沒問題,所以,要給表單中的字符轉碼。
后臺-系統基本參數無法保存中文 修改方法:
dede\templets\sys_info.htm里面搜索
htmlspecialchars($row[‘value’])
替換成
htmlspecialchars($row[‘value’],ENT_COMPAT ,’GB2312′)
如果發現還有其他頁面,也沒辦法保存中文,最好在dreamweaver下整站搜索htmlspecialchars($row[‘value’]),然后批量替換成htmlspecialchars($row[‘value’],ENT_COMPAT ,’GB2312′),這樣就能保證系統的表單沒問題。
但是這個修改的方法,對編輯器中的中文沒辦法,還要修改編輯器,方法為:
include/ckeditor/ckeditor_php5.php文件
找到代碼
$out = “<textarea name=\&;” . $name . “\&;” . $attr . “>” .htmlspecialchars($value). “</textarea>\n”;
改成:
$out = “<textarea name=\&;” . $name . “\&;” . $attr . “>” .htmlspecialchars( $value, ENT_COMPAT, ‘GB2312′ ). “</textarea>\n”;
還有標簽也不顯示,修改方法為:
1、dede/article_add.php 和 dede/article_edit.php將
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,’GB2312’);
這些都沒問題后,發現 核心-批量維護-tag標簽管理里面的中文標簽全部都不顯示了,真是麻煩,修改方法:
打開/dede/templets/tags_main.htm
找到:
$fields[‘tag’] = htmlspecialchars($fields[‘tag’]);
替換為
$fields[‘tag’] = htmlspecialchars($fields[‘tag’],ENT_COMPAT ,’GB2312′);
這樣修改,tag標簽就顯示了。
這樣一修改,在php5.4下的gbk版織夢就不會出現編碼的問題了。