EthnaAppManagerを使うときのデータベースの文字コードを指定する
僕が今使っているEthnaのバージョンが2.3.5なんですが、そこでのお話です。
学校が春休みに入る前に担任の先生と話していたことを思い出して、ちょっとEthnaでコード書いてみることにしました。
で、DB側の文字コードがutfだったので文字化けを起こしてしまい、あばばあばばという状況でした。
僕としてはEUCを使いたい!ってところなんです。
いちおAppManagerをつかっているのですが、基本的にはAppManagerの中でEthna::DB使っているって感じなんです。
なんで基本的にメソッドごとに
query("SET NAMES ujis")
って書いてあげればいいのです。
が、しかし、毎回毎回書くのだるいし、DBの文字コードを変えるようなことがあったらそれこそ大惨事です・・・。
何気にこんな面白い記事があって、そこからヒントをえた簡単な方法を思いついたわけです。
ということで、こんな感じで書いて見ました。
<?php
class ProjectID_SampleManager extends Ethna_AppManager
{
function ProjectID_SampleManager(&$backend){
parent::Ethna_AppManager(&$backend);
$this->db->query("SET NAMES ujis");
}
...
これでいちいち「SET NAME ujis」と書かなくてもいいわけです。