僕はFlexでデータベースを扱う場合、これまで実稼動の場合、PostgreSQLしか扱ってこなかった。
これまでは、DB関係はオリジナルのDBサービスを利用してPHPOBJECTやWEBORBを使っていたが、今回、FlashBuilderとZendAMFへサービスを切り替えるために色々試行錯誤している。
一つは、ZendFrameworkを利用する事で、DBだけでなく他のコンポーネントも利用出来ると言う事。
もう一つはFlashBuilderのデータとサービス機能を利用して、データベースアクセス関係のコンポーネントを自動作成させて開発効率を上げたいと言う事なのだが、問題はこのZendAMFによる接続データベースが標準がMySQLだということ。
MySQLはPostgreSQLと共に人気のあるFreeのデータベースなのだが、日本語の文字化け問題があれこれ発生する。
これが嫌でこれまでこのMySQLを利用してこなかったのだが、仕方ない。
今回も、取り敢えずローカル上へインストールしたXampp上のMySQLへFlashBuilderのデータとサービスで作ったデータアクセスコンポーネントで接続しているのだが、例によって日本語が文字化けする。
一般的な文字化けの話はすぐに見つかるのだが、このFlashBuilder関連のものは情報が少ない。
やっと発見したのが、これだ。
public function __construct() {
$this->connection = mysqli_connect(
$this->server,
$this->username,
$this->password,
$this->databasename,
$this->port
);
$this->throwExceptionOnError($this->connection);
mysqli_set_charset($this->connection, “utf8″);
}
PHP側のコンストラクタの一番最後に
mysqli_set_charset($this->connection, “utf8″);
を付け加えると言うもの。これで解決した。
後は、これを実稼動サーバへデプロイするのはどうしたら良いかって事だが、これも情報が殆ど無い。