织梦utf8转gbk

99ANYc3cd6
预计阅读时长 15 分钟
位置: 首页 织梦建站 正文

在开始之前,请务必备份!务必备份!务必备份! 包括你的网站文件和数据库,任何操作失误都可能导致网站数据丢失。

织梦utf8转gbk
(图片来源网络,侵删)

转换前准备

  1. 完整备份网站文件:通过FTP或服务器控制台,将整个网站目录(通常是 dedewww)下载到本地。
  2. 完整备份数据库
    • 登录你的网站后台,进入“系统” -> “数据库备份/还原”。
    • 点击“开始执行备份”,生成一个 .sql 备份文件,并下载到本地。
    • 强烈建议:同时通过phpMyAdmin等工具,再导出一次完整的数据库,作为双重保险。

转换步骤详解

第一步:转换数据库编码(最关键、最易出错的一步)

数据库的转换是整个过程的基石,如果你的网站数据量很大,手动操作会非常繁琐且容易出错,推荐使用以下两种方法:

方法A:使用织梦自带的转换工具(推荐,最安全)

织梦CMS本身提供了一个UTF-8转GBK的数据库转换工具,这是最稳妥的方法。

  1. 上传转换工具

    • 从织梦官方论坛或可靠的资源站点下载 gbk.zip 压缩包。
    • 解压后,你会得到一个 gbk 文件夹。
    • 通过FTP,将这个 gbk 文件夹上传到你的网站根目录(与 dededata 等文件夹同级)。
  2. 运行转换程序

    • 在浏览器中访问 http://你的域名/gbk/
    • 你会看到一个转换界面,需要你输入数据库信息:
      • 数据库名:你的数据库名称。
      • 数据库用户名:数据库用户名。
      • 数据库密码:数据库密码。
      • 数据前缀:你的数据库表前缀(如 dede_),请务必确认正确。
    • 点击“开始转换”,这个过程可能需要几分钟到几十分钟不等,取决于数据量,请耐心等待,不要刷新页面或关闭浏览器。
    • 转换成功后,会提示“转换成功”。
  3. 清理工具

    • 转换成功后,务必立即删除网站根目录下的 gbk 文件夹,以防止安全风险。

方法B:使用phpMyAdmin手动转换(适合有经验的用户)

如果你的网站数据量不大,或者织梦工具无法使用,可以使用phpMyAdmin。

  1. 导出UTF-8数据

    • 登录phpMyAdmin,选择你的数据库。
    • 点击“导出”选项卡。
    • 在“格式”中选择“SQL”。
    • 在“SQL兼容性模式”中选择“MYSQL40”(兼容性更好)。
    • 关键步骤:点击“自定义”选项卡,在“字符集”下拉菜单中选择 utf8,确保导出的SQL文件是UTF-8编码的。
    • 点击“执行”,下载这个UTF-8的SQL备份文件。
  2. 修改SQL文件编码

    • 使用专业的文本编辑器(如 VS CodeNotepad++Sublime Text不要用Windows记事本打开下载的SQL文件。

    • 在编辑器中,将文件编码从UTF-8转换为 GBKGB2312,通常编辑器会提供“另存为”或“编码转换”的功能。

    • 重要:在SQL文件的开头,找到 CREATE DATABASE 语句,将其中的 utf8_general_ci 修改为 gbk_chinese_ci

      -- 修改前
      CREATE DATABASE `your_database_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
      -- 修改后
      CREATE DATABASE `your_database_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
  3. 清空并导入GBK数据

    • 回到phpMyAdmin,选择你的数据库。
    • 勾选所有数据表,点击“清空”(或“删除”),删除所有旧表。
    • 点击“导入”选项卡。
    • 选择你刚刚转换并保存为GBK编码的SQL文件。
    • 点击“执行”,完成数据库的导入。

第二步:修改网站文件编码

这一步的目的是让网站所有的PHP模板文件、CSS、JS等文件从UTF-8编码变为GBK编码。

  1. 使用编辑器批量转换

    • 将你第一步备份的网站文件解压到本地。
    • 使用支持批量编码转换的编辑器(如 VS CodeNotepad++)打开整个网站文件夹。
    • 在VS Code中:
      • Ctrl+Shift+P 打开命令面板。
      • 输入 Save with Encoding 并选择。
      • 在弹出的选项中选择 GBK (Simplified, China)
      • 编辑器会提示你是否保存所有文件,选择“全部保存”。
    • 在Notepad++中:
      • Ctrl+Alt+Shift+C 打开“编码转换”对话框。
      • 选择“转换为 GBK”。
      • 点击“转换”,它会转换当前打开的文件,你需要手动打开所有需要转换的文件(如 index.php, head.htm 等)并重复此操作,或者编写脚本辅助。
    • 注意
      • 只需要转换模板文件(.php, .htm)、CSS文件(.css)、JS文件(.js)。
      • 不要转换二进制文件,如图片(.jpg, .png)、上传的文件(.doc, .pdf)等。
      • data 目录下的 config.cache.inc.php 等配置文件也需要转换。
  2. 上传修改后的文件

    • 使用FTP,将本地所有转换好编码的网站文件覆盖上传到服务器上。
    • 上传时,请确保你的FTP工具的传输模式是“二进制”(Binary),以避免文件损坏。

第三步:修改系统配置文件

需要修改织梦的核心配置文件,告诉系统现在使用的是GBK编码。

  1. 修改 /data/config.cache.inc.php

    • 通过FTP或服务器文件管理器,打开 /data/config.cache.inc.php 文件。

    • 找到 $cfg_soft_lang 这一行。

    • 将其值从 'utf-8' 修改为 'gbk'

      // 修改前
      $cfg_soft_lang = 'utf-8';
      // 修改后
      $cfg_soft_lang = 'gbk';
  2. 修改 /include/dedesql.class.php(可选,但推荐)

    • 打开 /include/dedesql.class.php 文件。
    • 找到 function SetQuery() 函数,在里面找到 mysql_query($this->queryString,$this->linkID); 这一行。
    • 在它前面添加一行代码,设置连接字符集为GBK:
      mysql_query("SET NAMES gbk", $this->linkID);
      mysql_query("SET CHARACTER SET gbk", $this->linkID);
      mysql_query("SET CHARACTER_SET_CONNECTION=gbk", $this->linkID);
      mysql_query("SET CHARACTER_SET_DATABASE=gbk", $this->linkID);
      mysql_query("SET CHARACTER_SET_SERVER=gbk", $this->linkID);
      mysql_query("SET SQL_MODE=''", $this->linkID);
      mysql_query($this->queryString,$this->linkID);

第四步:检查与清理

  1. 清除缓存

    • 登录网站后台,进入“系统” -> “SQL命令运行工具”。
    • 在命令框中输入 Delete Fromdede_sys_cache,然后点击“查询”执行,这会清除所有旧的缓存文件。
    • 也可以通过FTP直接删除 /data/cache/ 目录下的所有文件(除了 index.html)。
  2. 全面测试

    • 清除浏览器缓存,访问你的网站首页。
    • 检查网站首页是否正常显示,有无乱码。
    • 进入各个栏目、文章页,检查是否正常。
    • 尝试发布一篇新文章、上传一张新图片,测试新增内容是否正常。
    • 检查搜索功能、会员中心等常用功能是否正常。
  3. 最终清理

    • 确认网站一切正常后,再次检查并删除任何临时文件或工具文件夹(如之前上传的 gbk 文件夹)。

总结与注意事项

  • 备份数据:这是最重要的前提,无法强调。
  • 顺序:严格按照“数据库 -> 文件 -> 配置”的顺序进行。
  • 工具选择:优先使用织梦自带的转换工具,它最可靠,手动转换数据库风险较高。
  • 文件编码:务必使用专业的文本编辑器进行批量转换,不要用记事本。
  • 耐心测试:转换后不要立即上线,要进行充分的测试,确保所有功能都正常。
  • 后续操作:转换后,所有新添加的模板文件、CSS、JS等,都请务必使用GBK编码保存。

遵循以上步骤,你就可以顺利完成织梦CMS从UTF-8到GBK的编码转换,如果在操作中遇到问题,请随时提出。

-- 展开阅读全文 --
头像
织梦模板修改视频教程在哪看?
« 上一篇 今天
织梦猫登录密码忘记了
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]