ポイント
- PDO をインスタンス化する際に、文字コードを指定する。
- PHP バージョンによって指定方法が異なることに注意
環境
- PHP 5.3.3 (cli) (built: Aug 11 2016 20:33:53)
- mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
実践
<?php use \Phpmig\Adapter; use Pimple\Container; $container = new Container(); $container['db'] = function () { $dbh = new PDO('mysql:dbname=phpmigdb;host=localhost;charset=utf8','phpmiguser','phpmigdbpassword', array( PDO::MYSQL_ATTR_READ_DEFAULT_FILE => 'SET NAMES utf8', ) ); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $dbh; }; // replace this with a better Phpmig\Adapter\AdapterInterface $container['phpmig.adapter'] = new Adapter\File\Flat(__DIR__ . DIRECTORY_SEPARATOR . 'migrations/.migrations.log'); $container['phpmig.migrations_path'] = __DIR__ . DIRECTORY_SEPARATOR . 'migrations'; // You can also provide an array of migration files // $container['phpmig.migrations'] = array_merge( // glob('migrations_1/*.php'), // glob('migrations_2/*.php') // ); return $container;
おわりに
次のページが非常に参考になりました。ありがとう存じます!
以上です。