BlogCakePHPを中心としたサイト開発情報をメインに公開。新しもの好きなので時々製品レポートなんかも。公開したわけですが、思った以上に反響があり嬉しく思います。さんに取り上げていただいたことでかなりのアクセス数があります(現在進行形です)。本当にありがとうございます。CakePHPフォーラムの方は、後で自作自演しようかと思いましたが、newsに先を越されてしまいました(笑)。こちらもありがとうございます。急いで上げたためにいろいろと落ち度がありますが、そのフォローも含めていくつか情報を書きたいと思います。Libraryでは、今のところUTF-8での利用を推奨しておりませんが、(たぶん)使えないわけではないと思いますので、一応やり方を記載しておきます。試していないので、出来ない場合はご容赦を。CakePHP1.1等古いバージョンでは、afterRender()内でob_get_clean()でアウトプットをゲットしてコンバートする手法が一般的ですが、最近のバージョンはこのやり方では出来ません。いうと、バッファにはまだ書かれていなくて、コントローラ内の$this->output内に格納されているからです。afterRender()内で、$this->outputを、mb_convert_encoding()でコンバートします。これだけでは「絵文字が化けてしまう」問題が発生する場合があります。化けるのは「文字コードを直接指定した場合」です。数値指定(&#xxxxx;)の場合は大丈夫なはずので、これを利用すれば実現が可能だと思います(数値はShiftJISのもので)。Libraryを通すと、これらは全て文字コード等に変換されます。■「機種判別」について公開サイト内で「機種判別」と書いてしまって大変に申し訳なかったのですが、現時点で「キャリア判別」は出来ますが、「機種を特定する」ことはできません。これについては、現在機種情報を調べる仕組みを準備しております。機種(AUはデバイスID)だけでなく、画面サイズなどの情報も入手出来ます。Ver0.0.2で搭載予定です。データは既に準備しましたので、あとは関数部作成と他の機能の作成待ちです。おかげでファイルサイズは5倍になりました(笑)。上記の機種判別の件もそうですが、次バージョン(Ver0.0.2)は次の機能がつく予定です。機種毎の表示画像のフィッティング上から2つは確実ですが、最後のはもしかしたら落ちるかもしれません。PHSとEMOBILEについては一部情報が不正確かも知れません(正確なデータが公開されていないため)。Library」をインストールさえすれば、携帯サイトが出来てしまう...と思われがちなのですが、言い訳しますと、あくまでも「サポート」はしますが、実際には他にも自前でケアしないと出来ないと思います。iMODEでは未だにPNG画像は表示できませんので、自前でファイルを選択するような記述は必要ですし、ページ構成の都合上、実質PCサイトとの振り分けは必要だと思います。本ライブラリは、現時点では「毎度書いていた携帯関連の関数をライブラリ化した」程度のものですので、そのつもりでいただけると。「こんなのがあったら」というようなものは、コメント欄などで書いていただければ、頑張ってみたいと思います。「iMODE時のセッション対応」について、本来なら「これこそ」ライブラリーに搭載するべきなのですが、環境に依存する部分もあり、ライブラリとしての提供は少々難しいかと感じます。うまいやり方が思いついたら搭載します(もしくは、その部分部分をライブラリ化するのは有りなんじゃないかとも考えています)。=mb_convert_encoding($this->output,\’sjis-win\’,\’utf-8\’);$this->Ktai->convert_emoji($this->output,$this->Ktai->get_carrier());}}}—あとは、データ投入時にi-modeの絵文字コードに変換した上でUTF-8エンコード、DBに投入。03:27具体的なソースコードの提供をありがとうございます。上記記事を具体的にやると概ねそんな感じかと思います。ちなみに気になったところですが、まずconvert_emojiの引数は、通常は省略してOKです。この引数は、デバッグとかで強制的に特定キャリアで出力した結果を見たいときとかに使うつもりでつけてあります。それから、convert_emojiの処理は、ktaiコンポーネントを入れていただくと、オプション指定で自動でやってくれます。この場合、文字コード変換処理はafterFilterではなくafterRenderでやっていただくと確実かもしれません。UTF-8対応は、現在急ピッチで進めていて、早ければ今週中にも新バージョンが提供できるかもしれません。なれば、この辺の処理は全て自動でやってくれるはずです(オプション指定をすることでいろいろなケースに対応できる予定です)。コメントは受け付けていません。