Softbank携帯で、mailtoリンク文字列が1KBを超えるとWJ46283E

題名の通り。


最近のSoftbank携帯はmailto立ち上げ時にsubjectやbodyに入れる文字列はUTF-8でurlエンコードしてないと文字化けが発生するっていうのは、まあ色々なところで言われてます。
「Flashlite1.1では完全に解決できなかったけどtext/html形式なら解決できる(キリッ」って見栄を切った手前、HTMLベタ書きだったにも関わらずエラーが出るとは何事ぞ。ってことで軽く調査。


軽くしか調査してないのでブログに書くのもおこがましいんだけど一応、ね。
どうやらmailtoのbodyリンク文字列が長くなって1KBを超えるとエラーになるらしい。
エラーになるとHTMLは表示されずにエラー画面になる。
ていうかなんか運がいいと画面出るけどリンククリックしてもメーラが起動しないこともある。

最悪、携帯が落ちる(シャットダウンする)。これにはワロタ。


Softbankで問題のmailtoリンクエラー発生時に画面に表示されるのが[WJ46283E]。
これは上記の文字化け解決のためにURLエンコードして安心してると陥りやすい気がする。ドコモとかAUは大丈夫みたいですが…。
日本語は2バイトだけど、UTF-8でURLエンコードかけると1バイトあたり3文字表現になるので日本語1文字は2バイトだから、結果6バイトになる。
単純に3倍の量になるから、結構溢れやすくなるんだと思います。

しかしbodyにそんな大量に日本語渡すような仕様にしなければ何も問題は無いので、皆さんも気をつけて下さい。


参考リンク

起動しない mailto 〜SoftBankの罠再び〜 - BUKURO-JIN
http://blog.y-110.net/log/eid128.html

WJ46283Eのエラーについて - MobileCreation
https://secure.okweb3.jp/mobilecreation/EokpControl?&tid=14058&event=QE0004