问题描述
SupeSite发现乱码的排查方法
发布: 2008-11-18 10:59 | 阅读: 726次 | 满意: 13人 | 打印
站点迁移服务器,或者服务器升级数据库,或者自己都不知道怎么回事,总之有一天,突然看到自己的站“面目全非”了。 发现站点上的信息全是"?"符号。这个“乱码”问题究竟该如何解决呢? 请您安静下来,根据如下步骤一步一步地排查。(请确认您有 phpMyAdmin 这个工具)
1、打开并登录 phpMyAdmin,找到您的数据库。然后看一下您的数据是什么字符集。
方法:按照如下图示,请您仔细看一下数据表的字符集是什么。“整理”这一栏显示的是数据表的字符集。
2、打开 config.php,找到 $dbcharset,将 $dbcharset 设置为您在 phpmyadmin 里看到的数据表字符集。如图:
如果您在 phpmyadmin 里看到字符集是 latin1,在 $dbcharset 这里要填写 latin1。
3、如果您在 phpmyadmin 里看到,有不同类型的字符集,比如有的表是 latin1,有的表是 gbk。这种情况下您必须要转换 MySQL 字符集。将所有表的字符集转为统一的字符集。例如,全部转换为 latin1。转换字符集的教程:http://www.discuz.net/viewthread.php?tid=444081
4、转换完毕之后,请重新设置 config.php 文件里的 $dbcharset。
5、注意 Discuz! 和 SupeSite 一定要统一字符集。
6、设置完毕之后,请更新缓存。
方法:进入 SupeSite 后台(SupeSite 域名/admincp.php),基本设置里找到缓存更新,点击“更新缓存”。
config.php 文件里的 $dbcharset(数据库字符集)和 $charset(页面字符集)的各自含义是:$dbcharset 这里要填写数据库的字符集,您的站点使用的是什么字符集这里就填写什么。这个参数是用来链接数据库用的,如果填写错误,肯定会导致站点出现乱码。$charset 这里要填写页面字符集,这个参数请勿修改!这个参数是告诉浏览器此页面是什么编码。
您可能还对以下内容感兴趣:
没找到您想要的答案吗?建议您到我们的讨论区发帖寻求大家和 Comsenz 工作人员的帮助。



