akelos, MySQL et UTF-8
仕事の関係で、Akelosに手を出すことになった。
とは言っても、あんまり知らないフレームワーク。
世の中の評価を聞くと、CakePHPから乗り換えるにはうってつけの様で、
小規模開発には確かに向いているかもしれないし、
何より、CakePhpのファッキン配列地獄に手を焼かずに済む。
ただ、これって開発とかサポートとかの先行きが怪しいなぁ。
とは言え使用には耐えうるみたいだし、暇な人がコミットするでしょ。
マイナーなフレームワークの弱点は、
使っている人の数が少ないから、ググっても助かる可能性が低いこと。
検索に時間をかければ解決するような事ばかりじゃなくなるだろう。
と言うわけで、Akelosで作られて、現在稼動しているアプリケーションを、
ローカルに環境を変えて動かそうと試みてみた。
勿論、コピーしただけでうまく動くことはない。
まずはAkelosのインストールパスの変更をする。
最新バージョンと、コピーしてきたアプリのバージョンが異なるようで、
何だか色々と設定ファイルがあったりなかったり、ラジバンダリ。
database.ymlや、inflector.ymlとかは、コピーしたやつには無かったんだけど、
そのまま動かそうとしたら、「そのやり方は古い」と怒られる始末。
イラッとしつつも両ファイルを用意。
dbの設定も変えて、とりあえず表示するには至った。
しかし、MySQLレコード由来の文字列が、文字化けする。
うーん、この前の様な過ちは無いはずだ。
レコードをPMAから見ても正しく表示される。
静的な文字列も正しく表示される。
順当に考えて、文字列がAkelosを通る間におかしくなってるんだろ。
しかしまぁ、何処に何の設定があるのか、と言うのがわかりづらい。
この辺も、いっぺん整理してやりたい。
幸いにも、ググッたらAkelosの設定方法が載っていた。
define('AK_SET_UTF8_ON_MYSQL_CONNECT', true);
この一部分を設定ファイルに書くだけ。
これで文字化けせずに表示されるようになりました。
しかしなぁ、デフォルトでfalseになってたり、コメントアウトされているならまだ許せるけど、
最初から何も書いてないんじゃあ、ヒントにもなりゃしない。
開発中だから、とかいう言い訳は無し。
不親切極まりない。
で、Akelosの設定をしなおしたら、元々あった.htaccessのmod_rewriteの部分を書き直してあげて準備完了。
かな?
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏