天狼晓月 发表于 2016-2-28 11:59:47

discuz数据库校验发现字符集错误的数据表:pre_common_member_temp___(latin1),解决...

【转载】discuz数据库校验发现字符集错误的数据表:pre_common_member_temp___(latin1),解决数据库字符集完美教程

我的discuz是utf8的
最近在后台-数据库校验时发现字符集错误的数据表:pre_common_member_temp___(latin1), 就进数据库搜索根本看不到此表(总结:在很多mysql管理工具中字符集错误的表是不备显示的,phpmyadmin可以显示),找了很多技术文才解决了我的问题,这里分享下方法:
注意:数据库操作,记得提前备份数据库数据,有备无患

第一个方法你可以尝试下:
打开:工具-->数据库-->升级,运行一下sql语句

DELETE FROM `pre_common_setting` WHERE `skey` = 'membersplit';
提示:如果没有文本框,请将config/config_global.php文件
$_config['admincp']['runquery'] = '0';
改成
$_config['admincp']['runquery'] = '1';




如果不行,再用下面这个

第二种:PHPmyadmin整理
1、在空间里上传一个PHPmyadmin数据库管理程序,登录到数据库里面

2、找到数据表pre_common_member_temp___(提示:括号里面的latin1是编码,不是表名字)


3、点击操作,看到“表选项”里面的“操作”选项了吗?点击进入,最下面有个整理、


这里我要说明的是我的是UTF8的 所以我要选择UTF-spanish-ci,(GBK的选择GBK-Chinese-ci)
我的 原来出问题的时候是latin1-spanish-ci,换成选择UTF-spanish-ci,选择好了 点右边的执行
然后再去后台数据库里检验,显示没问题了。

页: [1]
查看完整版本: discuz数据库校验发现字符集错误的数据表:pre_common_member_temp___(latin1),解决...