DEDE織夢教程
【DEDE后臺】dede后臺部分頁面錯誤;htmlspecialchars問題
時間: 2024-10-11 04:58:43 瀏覽次數:13
DEDE織夢cms常用的參數標簽匯總、以及操作過程中的一些bug問題解決方法,dede網站二開,以下龍騰飛網絡科技-小吳在建站實操中筆記記錄,織夢dede建站教程保存使用非常方便:【DEDE建站教程】dede后臺部分頁面錯誤;htmlspecialchars問題dede網站,GBK2312版本會出現的問題,htmlspecialchars問題,特別在網站搬家后,很多后

DEDE織夢cms常用的參數標簽匯總、以及操作過程中的一些bug問題解決方法,dede網站二開,以下龍騰飛網絡科技-小吳在建站實操中筆記記錄,織夢dede建站教程保存使用非常方便:


【DEDE建站教程】dede后臺部分頁面錯誤;htmlspecialchars問題


dede網站,GBK2312版本會出現的問題,htmlspecialchars問題,特別在網站搬家后,很多后臺頁面點擊編輯修改會出現某個php的某一行有問題。


【解決方法】在相關的文件某行后面加上,ENT_COMPAT, GB2312或者是,ENT_COMPAT,'ISO-8859-1'即可,即所以涉及htmlspecialchars的代碼都加上即可。下面歸納了一些可能會出現的問題匯總。以及解決修改方法跟大家說下。


dedecms出現這個問題與代碼無關,主要是和PHP的版本有關,用的PHP5.4,更換成PHP5.2之后就不會有這個問題了。


問題原因是:php5.4版本中htmlspecialchars在php5.4默認為utf8編碼,gbk編碼的字符串經過htmlspecialchars 轉義后的中文字符串為空了,所以造成添加文章時提示“標題不能為空”,編輯文章時編輯器內容空白。


解決的辦法:


1、標題不能為空


修改dede/article_add.phpdede/article_edit.php 這2個文件。


$title =htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));

改成

$title =htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT, GB2312 );

2、編輯器內容空白


打開 include/ckeditor/ckeditor_php5.php 找到大約 138行


htmlspecialchars($value)

替換為

htmlspecialchars($value, ENT_COMPAT, GB2312 )


如果是其它v5.6用fck編輯器的,就打開include/FCKeditor/fckeditor.php找到大約 76行


$HtmlValue = htmlspecialchars( $this->Value ) ;

替換為

$HtmlValue = htmlspecialchars($this->Value,ENT_COMPAT , GB2312 );


3、系統站點設置網站名稱、站點默認關鍵字、站點描述也是保存后顯示為空,打開./dede/file_manage_view.php;


搜索

$content= htmlspecialchars($content);

替換成

$content =htmlspecialchars($content,ENT_COMPAT , GB2312 );


4、dede后臺欄目管理--修改欄目--欄目內容修改


出現“/include/ckeditor/ckeditor_php5.php on line 137”


追根溯源,是htmlspecialchars惹的禍,PHP 5.4后GBK編碼下默認不支持中文,轉換后內容為空。


修改DeDeCMS/include/ckeditor/ckeditor_php5.php文件,137行左右;如下代碼:


$out = "<textarea name="" . $name . """ . $attr . ">" . htmlspecialchars($value) . "</textarea>
";

改成如下:

$out = "<textarea name="" . $name . """ . $attr . ">" . htmlspecialchars($value,ENT_COMPAT,'ISO-8859-1') . "</textarea>
";

5、一鍵生成全站后


include/taglib/tag.lib.php on line 86


$row['tag'] = htmlspecialchars($row['tag']);

修改成

$row['tag'] = htmlspecialchars($row['tag']);




6、打開/include/common.func.php,搜索“function RunApp”,在這個函數的上面添加織夢新版本新增的函數:dede_htmlspecialchars,具體代碼如下:

function dede_htmlspecialchars($str) { 
global $cfg_soft_lang; 
if (version_compare(PHP_VERSION, '5.4.0', '<')) return htmlspecialchars($str); 
if ($cfg_soft_lang=='gb2312') return htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1'); 
else return htmlspecialchars($str); 
}


追根溯源,是htmlspecialchars惹的禍,PHP 5.4后GBK編碼下默認不支持中文,轉換后內容為空。


UTF-8編碼 沒有任何問題。



友情鏈接: 知識付費 | EDU指南導航 | 貴州網站建設公司 |
Copyright?2011 Guangzhou Longtengfei Network Technology Co., Ltd. 廣州龍騰飛網絡科技有限公司 粵ICP備18029205號 XML地圖 | 系統開發專題地圖
主站蜘蛛池模板: 国产肥老上视频| 青青草原在线视频| 成人免费高清完整版在线观看| 亚洲av中文无码乱人伦在线视色 | 成年人一级毛片| 久久香蕉国产线看观看99| 精品国自产拍天天拍2021| 国产大学生粉嫩无套流白浆| 2021午夜国产精品福利| 无遮挡很污很爽很黄的网站| 亚洲av第一网站久章草| 神宫寺奈绪jul055在线播放| 国产主播一区二区三区在线观看| 国产乱码一区二区三区四| 国产精品无码久久久久| 99久久精品日本一区二区免费| 婷婷伊人五月天| 中文天堂最新版www| 日本一二三高清| 久久婷婷五月综合成人D啪 | 国产偷窥熟女精品视频大全| 一二三四国语在线观看视频| 最近免费中文字幕大全视频| 午夜时刻免费实验区观看| 青苹果乐园在线影院免费观看完整版 | 精品欧美日韩一区二区三区| 国产不卡视频在线| 韩国理伦大片三女教师| 国内精品卡1卡2卡区别| xvdeviosbbc黑人| 性做久久久久久| 中文字幕久久久久久久系列| 日本一区二区三区高清在线观看| 久久综合九色综合网站| 果冻传媒国产电影免费看 | 国产高清视频在线| 99久久国产热无码精品免费| 天天爽天天爽夜夜爽毛片| yellow中文字幕网| 宝贝过来趴好张开腿让我看看 | 色之综合天天综合色天天棕色|