MySQLの文字化け

僕は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″);
を付け加えると言うもの。これで解決した。

後は、これを実稼動サーバへデプロイするのはどうしたら良いかって事だが、これも情報が殆ど無い。

カテゴリー: Flash Builder, 仕事   パーマリンク

コメントは受け付けていません。