EthnaAppManagerを使うときのデータベースの文字コードを指定する

Twitter ツイート Hatena Bookmark ブックマーク

僕が今使っているEthnaのバージョンが2.3.5なんですが、そこでのお話です。

学校が春休みに入る前に担任の先生と話していたことを思い出して、ちょっとEthnaでコード書いてみることにしました。
で、DB側の文字コードがutfだったので文字化けを起こしてしまい、あばばあばばという状況でした。
僕としてはEUCを使いたい!ってところなんです。

いちおAppManagerをつかっているのですが、基本的にはAppManagerの中でEthna::DB使っているって感じなんです。
なんで基本的にメソッドごとに

1
query("SET NAMES ujis")

って書いてあげればいいのです。

が、しかし、毎回毎回書くのだるいし、DBの文字コードを変えるようなことがあったらそれこそ大惨事です・・・。

何気にこんな面白い記事があって、そこからヒントをえた簡単な方法を思いついたわけです。

ということで、こんな感じで書いて見ました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php

class ProjectID_SampleManager extends Ethna_AppManager
{
    function ProjectID_SampleManager(&#038;$backend){
        parent::Ethna_AppManager(&#038;$backend);
        $this->db->query("SET NAMES ujis");
    }

...

これでいちいち「SET NAME ujis」と書かなくてもいいわけです。

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。