クエリ「SET NAMES utf8」を他のクエリの前に実行したい。
しかし、アプリの最初にこれを実行すると、他のクエリを実行していない場合でも、Zend_Db が強制的にデータベースに接続されます。それはクールではありません: 私のアプリは、キャッシュのみを使用して、クエリを使用せずに多くの要求を処理します。
接続直後に Zend_Db に 'SET NAMES utf8' を実行させるにはどうすればよいですか?
クエリ「SET NAMES utf8」を他のクエリの前に実行したい。
しかし、アプリの最初にこれを実行すると、他のクエリを実行していない場合でも、Zend_Db が強制的にデータベースに接続されます。それはクールではありません: 私のアプリは、キャッシュのみを使用して、クエリを使用せずに多くの要求を処理します。
接続直後に Zend_Db に 'SET NAMES utf8' を実行させるにはどうすればよいですか?
もちろん、アダプタパラメータとともに「charset」オプションを渡すだけです。これは、Zend_Configまたはコードで実行できます。
$params = array(
'host' => '127.0.0.1',
'username' => 'webuser',
'password' => 'xxxxxxxx',
'dbname' => 'test',
'charset' => 'utf8'
);
$db = Zend_Db::factory('Pdo_Mysql', $params);
参照: http: //framework.zend.com/manual/en/zend.db.html#zend.db.adapter.connecting.parameters
設定オプションについては、このリンクを確認してください。より簡単 に接続するたびに PDO で SET NAMES utf8 を実行する方法、ZendFramework で。