codeception数据库中文支持_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > codeception数据库中文支持

codeception数据库中文支持

 2017/7/28 5:32:18  xieye  程序员俱乐部  我要评论(0)
  • 摘要:使用codeception的单元测试中的验证数据库内容时我的codeception当前版本"require-dev":{"codeception/codeception":"2.3.4"},例如$this->tester->seeInDatabase("bb_users",['nickname'=>'哈哈']);先插入数据,再执行上面这样的语句,可能会断言错误,因为中文乱码了。hack方法:进入源代码
  • 标签:数据库 数据
使用codeception的单元测试中的验证数据库内容时

我的codeception当前版本
class="js">
 "require-dev":{
        "codeception/codeception":"2.3.4"
  },


例如
$this->tester->seeInDatabase("bb_users",['nickname'=>'哈哈']);

先插入数据,再执行上面这样的语句,可能会断言错误,因为中文乱码了。

hack方法:
进入源代码:
vendor\codeception\codeception\src\Codeception\Lib\Driver\Db.php

大约72行
修改成
    public function __construct($dsn, $user, $password)
    {
        $this->dbh = new \PDO($dsn, $user, $password,
                [\PDO::MYSQL_ATTR_INIT_COMMAND=> "SET NAMES 'utf8'"]);
        $this->dbh->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
     
        $this->dsn = $dsn;
        $this->user = $user;
        $this->password = $password;
    }

其实就给pdo加了一个参数。
发表评论
用户名: 匿名