Discuz教程网

[使用教程] Discuz!UTF-8字符转GBK成功百分百教程

[复制链接]
authicon dly 发表于 2014-1-9 10:53:28 | 显示全部楼层 |阅读模式
相信朋友已经看了Discuz!4.0及以上版本由UTF8转GBK的详细教程
但经本人测试发现该方法根本转换成功几率太低乱码经常出现现在我把我转换的经过帖出来希望能给朋友带来帮助!

其实UFT8转换用该方法很简单:
在database.inc.php中加一句就可以强制导出为GBK了

  1. ($db->version() > '4.1' && $dbcharset != 'utf8' ? "   <input class="radio" type="radio" name="sqlcharset" value='utf8'> UTF-8</option>" : '');
复制代码
替换为
  1. ($db->version() > '4.1' && $dbcharset != 'utf8' ? "   <input class="radio" type="radio" name="sqlcharset" value='utf8'> UTF-8</option>" : '').
  2.                         ($db->version() > '4.1' && $dbcharset != 'gbk' ? "   <input class="radio" type="radio" name="sqlcharset" value='gbk'> GBK</option>" : '');
复制代码
到备份数据后台就会发现多了个强制备份为GBK的选项!
接下来不用我教你们怎么做吧!
了解你的新空间的数据库版本选择对应的选项行了!

注意:
一定要选择全部备份
一般来说转换后会出现以下几个错误!
SQL: SET NAMES 'gbk'
Error: Unknown system variable 'NAMES'
Errno.: 1193
解决方法:
1、删除SET NAMES 'gbk'
2、找到ENGINE=MYISAM DEFAULT CHARSET=gbk,替换为:TYPE=MYISAM
3、找到ENGINE=HEAP DEFAULT CHARSET=gbk,替换为:TYPE=HEAP
4、character set gbk collate gbk_bin,删除。
5、重新恢复即可。

游客,如果您要查看本帖隐藏内容请回复


注意,一定要用记事本打开,第4条不一定是gbk,搜索collate试一下找到相似的
还有替换的时候一定要选择全部替换否则还是会出错!



上一篇:Discuz!X3.1GBK转UTF8全过程详解
下一篇:Discuz!x2.5/3.0设置某时间段后禁止编辑帖子内容
authicon 浩天哥哥 发表于 2015-6-19 16:48:37 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2024-4-29 16:14

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表