続・Flash Lite1.1からメーラー起動メモ 
先日書いた「Flash Liteからメーラー起動メモ」ですが、
メーラーの件名や本文にデフォルトで文字列を表示したいとき、
一筋縄ではいかないことが判明しました。
やっかいなのはキャリアごと、Flash Liteのバージョンごとにエンコード形式が違うこと。
Docomo、au、SoftBankで書き方を変えておかないと文字化けしちゃいます!
まずFlash Liteのバージョンを取得します。
flv_strに5が返ればバージョン1.1、8が返ればバージョン3.0、9が返ればバージョン3.1。
flVersion = $version;
flv_str = substring(flVersion, 0, 1);
DocomoとSoftbankでは1.1以下とそれ以外で分岐します。
Docomoの場合
※F-09AやN-02Aなどの簡体字、繁体字に対応した端末だけは文字化けを起こします。これは調査中。
// Docomo(改行コードは1.1以下は\r\n、3.0以上は%0D%0A)
if (int(flv_str) <= 5)
{
title_str = "タイトル";
body_str = "本文\r\nhttp://xxx.com";
}
else
{
title_str = "タイトル";
body_str = "本文%0D%0Ahttp://xxx.com";
}
status = fscommand2("escape", title_str, "enco_title");
status = fscommand2("escape", body_str, "enco_body");
getURL("mailto:?subject=" add enco_title add "&body=" add enco_body);
auの場合は一律これでいけるっぽい。
// au
title_str = "タイトル";
body_str = "本文\r\nhttp://xxx.com";
status = fscommand2("escape", title_str, "enco_title");
status = fscommand2("escape", body_str, "enco_body");
getURL("mailto:?subject=" add enco_title add "&body=" add enco_body);
SoftBankの場合
// Softbank(1.1以下はS-JIS、2.0以上はUTF-8でエンコードしておく)
if (int(flv_str) <= 5)
{
title_str = "タイトル";
body_str = "本文\r\nhttp://xxx.com";
}
else
{
title_str = "%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab";
body_str = "%e6%9c%ac%e6%96%87%0d%0ahttp%3a%2f%2fxxx%2ecom%0d%0a";
}
status = fscommand2("escape", title_str, "enco_title");
status = fscommand2("escape", body_str, "enco_body");
getURL("mailto:?subject=" add enco_title add "&body=" add enco_body);
alt

