目前有很多人使用phpems考试系统,这是一套开源系统,功能也都做得不错,有些朋友在整合discuz ucenter gbk版本时出现了问题,英文账号可以实现同步登入登出,但中文账号不行,也就是其中不能出现中文文字,CMS大学小编在使用中也遇到了这个问题。由于phpems只有utf8版本,经过摸索,我们找到了解决办法。
找到phpems目录下的 /api/uc.php 文件,并打开。
搜索下面的代码:
折叠PHP 代码
- //$username = iconv('gbk','utf-8',$get['username']);
将前面的双斜杠去掉。
然后找到
折叠PHP 代码
- $username = $get['username'];
在前面加上双斜杠注释掉这句。
然后我们再试试,已经可以同步登入了。这里的问题是不同编码在传值时变成了乱码,当然就无法登入了。所以需要使用iconv()函数进行编码转换。