2010/9/8 水曜日

携帯サイト(cakePHP+Ktai Library)のセッション設定

カテゴリー: — benton @ 17:31:43

クッキーはとりあえず無効に(使える場合と使えない場合とで場合分けした方がほんとはいいんだと思いますが)。

webroot配下の.htaccessに
php_flag session.use_cookies Off

Ktai Libraryを使ってる場合はktai_session.phpの設定が効いてしまうかもなので
// ini_set(’session.use_cookies’, 1);
ini_set(’session.use_cookies’, 0);

実際どの設定が効いているか見るには、適当なビューにini_get_all(’session’)を書いてみると良いかもです。

<pre><?php print_r(ini_get_all(’session’)); ?></pre>

セッションファイルが勝手に消えてしまう場合はガベージコレクションを確認してみると良いです。
http://www.php.net/manual/ja/session.configuration.php

session.gc_maxlifetime秒を過ぎると、
セッションの初期化過程で(つまり誰かがアクセスしてきたら)
session.gc_probability/session.gc_divisorの確率で
ガベージコレクションプロセスが始動する、
という形なので、表面的な現象だけからではなかなか分かりにくい。。

でもこれも.htaccessに書けば設定できます。
php_value session.gc_maxlifetime 秒数

cakePHP+cakeKtai、①(マルイチ)など機種依存文字を出すには

カテゴリー: — gabon @ 16:05:50

cakePHP+cakeKtaiでDocomo携帯用のサイトの開発の際、①などの機種依存文字の表示でなやみました。

cakePHPはutf-8の世界なのですが、
そのまま原稿の①をコピペしても実機ではうまく表示されない現象になやみました。

結論として、UTF8の特殊文字のコードを呼び出せば、実機で表示されることがわかりました。

書き方としては、絵文字の書き方で問題なく、
& # x2460; (スペース不要)
のように書けば大丈夫です。
(サンプルはマルイチです)

注意すべきところは、上記のように16進表記で書かないと古いブラウザを搭載している端末では特殊文字として認識してくれないようです。

さらに言えばもっと古い機種はunicode表示に対応していませんから、要件によっては要注意です。

また、;を忘れたりしないように。。。FireFoxは賢いので表示してくれますが。。。

参考 Unicode特殊文字の一覧表(←感謝です!)

HTML convert time: 0.322 sec. Powered by WordPress ME