app/config/database.php 内でエンコーディング(文字コード)を指定する際の注意点
- ここで指定するエンコーディングの表記方法は、MySQLの文字セット。
「EUC-JP」は「ujis」、「SHIFT-JIS」は「sjis」、「UTF-8」は「utf8」となる。
間違って、「UTF-8」と書くと、文字化けしてしまうので要注意。 - ここで指定するのは、データベースのエンコーディングではなく、表示するときのエンコーディング。
例えば、データベースのエンコーディングが、「EUC-JP」の場合でも、「utf8」と書けば、「UTF-8」で表示される。
開発環境と本番環境で複数のデータベースを切り替える方法
<?php
class DATABASE_CONFIG {
var $default;
var $other;
function __construct () {
//テスト環境
if (FULL_BASE_URL == 'http://localhost') {
$this->default = array(
'driver' => 'mysql',//ドライバ
'persistent' => false,//持続的接続
'host' => 'localhost',//ホスト名
'port' => '',//接続ポート
'login' => '******',//ユーザ名
'password' => '******',//パスワード
'database' => '******',//データベース名
'prefix' => '',//テーブル接頭辞
'schema' => '',//スキーマ
'encoding' => 'utf8',//エンコーディング※1
);
$this->other = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'port' => '',
'login' => '******',
'password' => '******',
'database' => '******',
'prefix' => '',
'schema' => '',
'encoding' => 'utf8',
);
//本番環境
} else {
$this->default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => '******',
'port' => '',
'login' => '******',
'password' => '******',
'database' => '******',
'prefix' => '',
'schema' => '',
'encoding' => 'utf8',
);
$this->other = array(
'driver' => 'mysql',
'persistent' => false,
'host' => '******',
'port' => '',
'login' => '******',
'password' => '******',
'database' => '******',
'prefix' => '',
'schema' => '',
'encoding' => 'utf8',
);
}
}
}
?>
こちらもあわせてどうぞ