Back to Forum Re New

[EQDKP] EQDKP1.3安装后发现种族、职业信息不对

EQDKP1.3安装后选择游戏为everquest 1发现少了一个种族Drakkin,

方法一:这个要改eqdkp_races这个数据表。可以进管理面板的设置那里备份数据表到电脑上,用记事本打开修改后,恢复数据表到空间就行了。

方法二:以上方法不能解决根本,要直接改源码包的game目录下的 everquest.php, 给 eqdkp_races数据表加一个记录种族 Drakkin, 然后进入dkp后台的设置,选择游戏,提交即可。如果要对职业、阵营等加减,同理操作。
EQ中文世纪地图集地址:
www.ceqmap.com

EQDKP1.3.2在会员信息那里将职业改为中文

EQDKP1.3安装后选择游戏为everquest 1,现要求在 会员信息那里职业都显示中文。

方法一:如要在会员信息和后台添加会员那里将职业、护甲等改为中文,要直接改源码包的game目录下和admin目录下的 everquest.php,  把需要的职业、护甲、种族直接改成中文,然后进入dkp后台的设置,选择游戏,提交即可。

方法二:下面方法不能解决根本问题。参考帖子  http://phpbb-tw.net/phpbb/viewtopic.php?t=40321


这个是个字符编码设置的问题,我在网上搜索了好久,还去淘宝咨询了技术,从前晚到今天凌晨,好不容易把问题解决了。
要达到的效果是:pma里显示中文不乱码;pma导出的sql里显示中文不乱码;dkp前台显示中文没乱码;dkp后台显示中文没乱码。
其实关键就是将latin1 编码的MySQL数据库导出为能显示中文的sql文件,再将该文件转换为utf8编码的sql,即下面的第2步,这个过程必须在本地虚拟主机完成。

下面按步骤来说:
1、确保此时网站的dkp前台后台都没有中文乱码。进网站的latin1编码的数据库,将其导出为sql文件,然后导入到本地的latin1编码的数据库。检查本地的dkp前台后台是否显示中文没乱码。没乱码继续下一步。

2、进cmd界面,运行mysqldump命令
E:\All\Dropbox\All\Web\MySQL5\bin mysqldump -uroot -p --default_character-set=latin1 --skip-set-charset db > E:\Downloads\db.sql
注意root和空密码是本地mysql的管理员帐号密码,--default_character-set=latin1是因为latin1为默认存储编码, db是数据库名,db.sql是要导出的sql文件,可以任意起名的。输入mysql用户密码后会导出 db.sql 文件,检查此时该db.sql文件是否显示中文没乱码。
使用UltraEdit或EmEdito替换该sql文件中的所有 DEFAULT CHARSET=latin1  为 DEFAULT CHARSET=utf8,该语句来指定表的存储编码,将该db.sql转存为UTF-8编码且无bom的文件。没乱码继续下一步。

3、打开原来的eqdkp的源码包里的dbal目录里的mysql.php文件,搜索function query($query),在该代码下面的 { 行的下面插入一行代码     @mysql_query("set names utf8");
然后把本地里的eqdkp目录删除,pma里的对应数据库删除,重建该数据库并设置数据库编码为utf8_general_ci。然后把修改过的源码包复制到本地,解压后建立新的eqdkp。检查本地的dkp前台后台以及pma是否显示中文没乱码。没乱码继续下一步。

4、 将第2步得到的db.sql导入到本地的新的eqdkp的数据库里,检查dkp前台后台以及pma和sql是否显示中文没乱码。如果四个都木有乱码,那么继续下一步。


5、把网站的ftp里的eqdkp目录删除,pma里的对应数据库删除,重建该数据库并设置编码为utf8_general_ci。然后把修改过的源码包上传到网站ftp,解压后建立新的eqdkp。检查网站的dkp前台后台以及pma是否显示中文没乱码。没乱码继续下一步。

6、 将第2步得到的db.sql导入到网站的新的eqdkp数据库里,检查dkp前台后台以及pma和sql是否显示中文没乱码。如果四个都木有乱码,那么大功告成,亲个嘴儿。
EQ中文世纪地图集地址:
www.ceqmap.com
Back to Forum