FlashLite1.1でmailtoに日本語を使う場合、ガラケーのみならずAndroid端末でも文字化けする事案が発生
以前、以下のエントリーで、ガラケーは無理ぽって書いたんですが、Androidでも似た現象が発生しました。
検証端末はXperia arc SO-01Cで、OS2.3.4。
FlashLite1.1を通してmailtoする際にsubjectやbodyに日本語を含めたい場合、完全には文字化け問題を解決できない
http://d.hatena.ne.jp/absun/20101217#1292512654
Androidの場合はガラケーと逆で、Flashからメーラを起動するとShift_JISからUTF-8に変換しちゃうみたいです。
(以前の時もそうですが、表示された文字化けパターンから推測してるだけなので、実際にどう変換されてるかはわかりません。)
勿論、HTMLで同様にmailtoリンクを書いて踏ませた場合は、いずれの文字コードでも文字化けは起きなかった。
今回色々やってみてるうちに、「getURLでContent-Type渡せば?」と言われたんですが、見事にContent-Typeに遷移しました。
http://nsflash.com/action/action0011.html
ここでも書かれているように、
Flash Lite 1.0 が認識できるのは、HTTP、HTTPS、mailto、および tel プロトコルだけです。Flash Lite 1.1 はこれらのプロトコルに加えて、ファイル、SMS (ショートメッセージサービス)、MMS (マルチメディアメッセージサービス) プロトコルを認識できます。
ってことなんですけど、HTTPヘッダはダメみたいです。
iPhoneの場合はSwiffyでHTML5に変換して、UTF-8文字列を内部の変数に上書きすることで文字化けは回避できました。
これと同様にすればAndroidでもいけるかと思ったんですが、元のFlashLiteの作りが悪いのか、Swiffyで変換したHTML5がAndroidで再生出来なかった。
これができれば、渡す文字列のエンコードは好きにいじれるので解決できそうですけど、検証する時間が無かったのですいません。
3.11以降増えた(個人的に増えたように感じた)交通違反等について
前もって言っておきますが、disってるわけじゃないんで。
去年チラッと書いた地震関連のエントリーに「信号無視し過ぎワロタ」みたいなこと書いたんですが、自分なりに納得できそうな解が出そうで。
もしかして、それまで都内に居なかった人間が東京に流れてきたりした関係で、一気にそうなった(そう見えた)のかなと。
東京に比べたら、やっぱり郊外の交通量って微々たるものなので、ちょっとやそっと赤信号無視したところで平気なんですかね。
それとも「キッチリ守れよ!」って東京の人と比べてせっかちじゃないからなのか。
あー、でも右折ランプの時に金魚のフンよろしく、赤になってもずらずらついてっちゃうのもいただけないけど、あれは去年に始まったことでも無いだろうし、ナンバーも確認してないからこれと関係あるかわからない。
一応弁明しておくと、僕は運転免許を栃木県まで行って合宿で取った経緯もあるし、仙台、気仙沼と福島は自分の運転で旅行したこともあるし、父方の実家はグンマーなので、ある程度北関東、東北地方の交通事情はわかります。
話それますけど気仙沼、テレビで火の海を観た時はなんとも言えない気持ちになった。
海岸沿いの、ちょうど映ってたあたりを走ってたはず。
この話は、実際ひどい信号無視をしてる人にいちいちインタビューしてどこ出身か聞いて回ったわけじゃないので真相はわかりませんけど、一番しっくりくる解釈だなあと思ったので書いた。
とりあえず信号は守ろうよねえ。さすがに、赤は。
赤になってから交差点に走りこむ奴見てると、これが先進国なのかって悲しくなる。
体重2012
とりあえず今年は半年くらいで4kg減を目指します。一ヶ月半で1kgペースか。
64kg前後をしっかりキープできるようにしてから夏を迎えて、そこから更に下げられればいいなと。
去年の夏もかなり調子良かったのに、結局色々なストレスのせいでやってらんねーとなって戻っちゃいましたからね。
わざわざ書きたかねぇが先週元カノと友人が結婚式挙げたらしいです
19の時に出会って5年半付き合って別れた女性と、
高校時代にネットで出会ってそれ以来ちょくちょく遊んだりしてた友人が結婚式を挙げたらしいです。
らしいですっていうのは、本人たちから何も連絡もらってなくて、人づてに日程を聞いたからです。
たまには書いてましたが、普段めっきり自分のことは話さなくなっていたし、久々に正直色々書こうと思ったので、つらつらと書き殴ってみます。
男性の友人をA、女性をBとしましょうか。
自分は都心に住んでいて、Aとは高校時代にネット経由で出会いました。
詳細なことはあまり覚えていませんが、僕がよく見ていたサイトのチャットに、これまた遠く離れた広島の女の子グループがいたんです。
その中の一人の従姉妹が東京に住んでおり、その子が通っていた学校の同級生がA、という複雑な繋がりで出会いました。
18歳。
高校を卒業してから僕は二年制のゲーム系の専門学校に通うことになりました。
変に真面目な性格なので、友人とそりが合わずに揉めることも少なくありませんでした。
怠惰な性格なので、真面目に通うわけでもありませんでした。
色々うまくいかないなーと思って過ごしたわけで。
結局就職活動もなんとなく身が入らず、二年目の秋頃からは知り合いの会社にバイトで通うようになりました。
(この頃、ビデオ屋でもバイトしてたので、何やってんだかよくわかりません。人生で一番働いてましたね)
まあその知り合いの会社でバイトしてた時、既にアルバイトとして働いてた女の子がBです。
20歳。
専門学校を卒業した後、ゲーム業界に進むことを諦めて、そのまま知り合いの会社に正社員として入社することになったのですが、
付き合い始めたのはその頃です。
それから一年で二人ともその会社を辞め、各々生活しながら仲良くやってたわけです。
ところで、その間にも少なからずAとは交友関係があり、Aが同人活動をしていた時期は協力したりもしました。
Bと付き合ってた頃にも、Aの家で麻雀大会があった時は二人で参加したりしていました。Bは麻雀できないんですが。
23歳。その頃働いていた会社が黒過ぎて色々あったため、逃げるようにして辞めたんですが、
その後派遣としてITベンチャーで働き始め、この頃には将来の事など具体的に考えるようになっていました。
引越しの費用を貯め、二人で暮らせる場所を探しました。
二人で猫を飼いました。
細かいことはおいといて、僕はそれなりに頑張っていました。
でも、根性の無い僕にはそこが限界でした。
諸々の事情があってそのまま同棲は解消し、それぞれ家に戻ったわけです。
お互いの最善の道だと思ってましたが、5年半です。
それまで積み上げてきたもの全てを一度に失った、そんな気持ちでした。
それから約3年。
気付けばAとBは付き合っており、それについてはA自身から報告のようなものがあり、僕としても納得したつもりでした。
僕が幸せにできなかったB。
Aがそれを成せるなら、別に何も言うことはない。そう思っていました。
それが、去年の仲間内の忘年会で、AとBが結婚するという話を、友人つてで初めて聞きました。
その日確認できた限りで、共通の知り合いはほぼ全員結婚式若しくは二次会に誘われていたことが判明しました。
元彼だからってのはわかるんですが、あんまりじゃないですか?
式に呼びたくない気持ちもわかるんですが、せめてなんか一言あってもよくないですか?
正直、別れてからというものの、連絡もまったくとれないし、何考えてるのかわからないんです。
僕がBと会うきっかけになった知り合いに聞いたら、彼も式に誘われていたと聞いて愕然としました。
どう考えても僕に伝わることわかってやってんじゃねーか。そう思いました。
更に年末、たまたま弟に会う機会があったので同じように聞いてみました。
実は弟も、同人活動をしていたAと共通の趣味があり、簡単に言うと一緒に作品を作ったりしてました。
その関係で弟も、AとBを知る友人の一人になっていたんです。
それで聞いたら、弟も式に誘われていたんですよ。
もうわけがわかりません。
だったら「呼ばない」とハッキリ言ってくれたほうが100万倍マシです。
僕はBと出会ったことで色々なことを学び、色々なことをBに教えてもらい、成長できたと思っています。
Bが幸せになれるなら、相手が僕じゃなかったとしても、僕は心から祝福するだろう。
最近はそう考えていました。
だってそうでしょう。僕といても結果的に彼女は幸せになれなかった。
今は結婚しようと思える相手がいて、結婚式挙げようってなってるんだから、
そこに乗り込んでいって二人を嫌な気分にさせてやろうなんて考えるわけがない。
AとBが僕にしたことはただの侮辱です。
二人が出会ったきっかけは何?
二人の家族として紹介されている猫の名前を決めたのは一体誰?
それって、思い出から僕を全部消して、前に進もうとしてるってことですよね。
せめて結婚式当日までに何かしら連絡があれば、まだ考えを改めようと思っていました。
仲違い解消の最後のチャンスというか、そういう機会だったと思うんですよ。
でももう無理です。そういうつもりなら僕ももう過去を捨て去るしかないです。
5年半は無かった。そう考えるしかない。
余談ですが、専門学校時代の二年間は、高校時代にネットで会った人と付き合ってました。
その人も僕の友人と去年結婚しました。
彼女とも色々あったんですが、今も仲の良い友達として付き合いがあります。
一度はわかりあえた相手のはずなのに、友達にも戻れないのは寂しいなって。
ただ、それだけです。
CakePHP2.0で携帯用ビューの文字コード変換
[追記:2012/03/09 14:30]
AppHelperに記述していたのは誤りでした。申し訳ないです。
AppHelperに書いてしまうと、呼び出されたヘルパの数だけcallbackメソッドが実行されるため、新しくEncodingHelperを作り、
それをAppControllerの$helpersに追加するほうが良いです。
以下のコードも書き換えました。
2.1でも問題無く動きます。
AppControllerのbeforeFilterでob_startしてafterFilterでmb_convert_encodingとかしてた記事を1.1とか1.2系の時に見てから1系は全部それで事無きを得てたんですが、なんかどうも2.0でうまく動いてなかったので公式マニュアル読みあさってたらViewとかHelperでやれやゴルァって書いてあったからその通りにしてみました。
MHelperComponentは独自コンポーネントです。
isSjisAgent()は、変換すべきかの真偽値を返すメソッド。
App/View/Helper/EncodingHelper.php
<?php App::uses('AppHelper', 'View/Helper'); App::uses('MHelperComponent', 'Controller/Component'); class EncodingHelper extends AppHelper { public function afterLayout($viewFile) { parent::afterLayout($viewFile); $this->MHelper = new MHelperComponent(new ComponentCollection()); if ($this->MHelper->isSjisAgent()) { $this->_View->output = mb_convert_encoding($this->_View->output, 'SJIS-win', 'UTF-8'); mb_http_output("SJIS-win"); ini_set('mbstring.internal_encoding', 'SJIS-win'); ob_start("mb_output_handler"); } } } ?>
直接mb_convert_variables()で変換しようとすると
Indirect modification of overloaded property View::$output has no effect
というエラーが出るため、mb_convert_encoding()で変換したものを代入しています。
AppControllerのoutputはどこ行っちゃったんですかね…
PHP5.2未満の環境でjson
json_encode()を自分で実装してる人もいたんだけど、以下の方法が取れるならそれに越したことはない。
(っていうかPHPがupdateできればそれで全て解決なんだが)
【PHP】json_decode, json_encodeを使えるようにjsonをインストール
http://se-suganuma.blogspot.com/2008/07/phpjsondecode-jsonencode.html
VPSでcコンパイラが入ってないと上記のpecl install jsonで失敗するので、下
ServersMan@VPS configure: error: no acceptable C compiler found in $PATH
http://news.trippyboy.com/serversmanvps/serversmanvps-configure-error-no-acceptable-c-compiler-found-in-path/