dotProject 数据库中文乱码解决方案

 转自: http://www.akii.org/tag/dotproject/

关于dotProject:
dotProject是一个基于LAMP的开源项目管理软件。开发语言为PHP,数据库默认推荐使用MySQL(基本上可以理解为只能用Mysql)。

# 官方网站 http://www.dotproject.net/
# 官方Wiki http://docs.dotproject.net/

更多中文介绍参见:
http://wiki.lupaworld.com/index.php/Dotproject
最佳汉化版本:
网上有Markwu的一个版本可以直接使用,或者解出后将dotproject/locales目录中zh-CN和zh-TW目录拷出放到官方版dotproject 2.1RC2相应的locales目录中。
建议直接使用,否则短星期还是乱码,除非你给它改成英文

但它有一个致命的缺点,就是默认不能设置数据库的编码。
它会以mysql默认的编码来对数据库和表进行编码。
如果你的mysql默认不是utf8编码,那所有汉字在数据库中就全是乱码,而且,程序也会随之不好用。

找了半天,终于找到了解决方案(网上目前还没有这么干的,都是要你去设置mysql的默认编码,可是当你不想设置为utf8或你没有那个权限的时候呢?只能自己来解决)

找到lib/adodb/drivers/adodb-mysql.inc.php
把源码中

“SET NAMES $dbEncoding”

替换成

“SET NAMES ‘utf8′”

针对于2.1.1版本,修改lib/adodb/drivers/adodb-mysqli.inc.php
找到

if (!is_callable($this->_connectionID,'set_charset'))

改成

if (!is_callable($this->_connectionID,'utf8'))

好了。可以正常使用了。不用去设置mysql的编码了。当然,你还要对你的库设置成utf8哟。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值