エラー
cakePHP3 + oracle(サードパーティのcakeDCを使用)
日本語のテーブル名が参照できない
原因
PHPとoracleの文字コードが異なる
対処
app.phpに文字コードを設定
'flags' => ['charset' => 'AL32UTF8'],
OCI8Connection.phpを修正
public function __construct($dsn, $username, $password, $options)
{
-- 省略 --
// $option -> $optionsに変更
$charset = !empty($options['charset']) ? $options['charset'] : null;
TableLocator.phpのgetメソッドを修正
public function get($alias, array $options = [])
-- 省略 --
// list(, $table) = pluginSplit($options['className']);
// $options['table'] = Inflector::underscore($table);
$options['table'] = $alias;

コメント