
你有没有遇到过这种情况?熬了三个通宵改好DedeCMS的网站模板,刚点完保存刷新页面,满屏全是看不懂的火星文。要么是后台发的文章前台打开全乱,要么换了个服务器整站直接没法看。找外面的技术帮忙修,张嘴就要两三百,自己百度搜的教程,要么是五六年前的老方法没用,要么全是看不懂的专业术语,越改越乱。今天这篇攻略全是实操步骤,不用你懂编程,照着做就能搞定所有DedeCMS乱码问题。
说白了,DedeCMS的乱码99%都是编码不匹配闹的,根本没有啥复杂的技术难题。动手之前先花1分钟判断类型,别上来就乱改代码,越改越乱。
整个网站所有页面全是乱码,导航、内容、底部信息全没法看。这种基本是网页编码声明和程序版本不匹配导致的,修复起来最简单。
网站导航、侧边栏这些固定内容都正常,只有文章标题、正文内容乱码,或者个别页面乱。这种一般是数据库编码和程序不匹配,或者你输入的内容自带编码冲突。
避坑提醒:要是只有单篇文章乱码,别折腾整个网站,直接看后面的单篇修复方法就行,省得浪费时间。
先确认你当初装的DedeCMS是GBK版本还是UTF-8版本,不知道的就去后台看系统信息,或者找当初的安装包说明。
你找到网站根目录的templets文件夹。
打开你正在用的模板文件夹。
找到head.htm头部模板文件。
看最上面的meta编码标签,改成和你程序版本匹配的内容:
GBK版本就写:
``` ```UTF-8版本就写:
``` ```
改完一定要去后台更新全站缓存,再清浏览器缓存看效果。80%的全页乱码改完这步就好。
要是改完模板还是乱码,就去改程序核心配置。
找根目录下的include/common.inc.php文件。
打开看第20行左右的数据库编码设置:
GBK版本就写:
``` $cfg_db_language = 'gbk'; ```UTF-8版本就写:
``` $cfg_db_language = 'utf8'; ```避坑提醒:这里的utf8后面不要加短横,很多人写错成utf-8,直接导致程序报错,反而更麻烦。
这种情况基本和模板没关系,都是数据库或者内容输入的问题,照着下面的步骤核对就行。
登录你的网站数据库管理后台,一般是phpMyAdmin。
找到你网站对应的数据库,看整体编码设置。
GBK版本的程序,数据库编码要选gbk_chinese_ci。
UTF-8版本的程序,数据库编码要选utf8_general_ci。

要是不对,直接在数据库界面改编码就行,不用写代码。举个例子,上次有个开建材店的粉丝找我,说他网站换了服务器之后文章全乱,我让他看数据库编码,他原来的站是GBK,新数据库建的时候选了UTF-8,改完编码马上就好,前后花了不到5分钟,省了三百块维修费。
要是只有个别文章乱码,别折腾整个站。
先把乱码的内容复制到系统自带的记事本里。
点记事本的“另存为”,编码选和你网站一致的格式。
保存之后再复制内容,粘贴回后台发布就行。
避坑提醒:别直接从Word、WPS里复制内容发,这些软件自带隐藏格式,很容易导致乱码,要复制先粘到记事本里过一遍。
这种情况90%都是你导入数据库的时候编码选错了。
导出旧数据库的时候,一定要选和原站一致的编码导出。
导入新服务器的数据库的时候,也要选相同的编码。
要是已经导入完才发现乱码,别瞎改代码,直接删了新数据库的内容,重新按正确编码导一遍就行,比改代码快10倍。
其实DedeCMS的乱码问题真的没多难,无非就是程序、模板、数据库三个地方的编码要统一,你照着上面的步骤一个个核对,最多半小时就能搞定。现在就去打开你出问题的网站,先对照第一步判断乱码类型,再对应步骤改就行。真遇到特殊情况搞不定的,评论区说清楚你的乱码场景,我给你出专属解决方案。
上一篇: DedeCMS留言模块全场景报错排查与标准化修复实操指南
下一篇: 【DedeCMS轮播图失效修复】












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图