iPhoneにメールを送る場合の文字化けについて

Eyecatch システムトレード実践編

 今回は、「iPhoneにメールを送る場合の文字化けについて」という内容で書かせて頂きます。

送ったメールが文字化けする

 最近よくメール機能でフリーメールなどに送った場合は正常に表示されるのに、iPhoneにメールを送った場合だけ文字化けする。

 といった内容のお問い合わせを受けます。

 結論から言いますと、これはメールの内容に日本語が含まれているからです。(正しくは2バイト文字)

 ですので、メール内容を全部半角英数にすれば問題は解決します。

 例えば、iPhoneに下記のようなコードでメールを送った場合、

SendMail("Mail",

         "時間 : "+TimeToStr(TimeLocal())+

         "¥n通貨ペア : "+OrderSymbol()+

         "¥nシグナル : 買い"+

         "¥n取得レート : "+DoubleToStr(OrderOpenPrice() ,Digits)+

         "¥nロット : "+DoubleToStr(OrderLots(),2)+

         "¥n¥n¥n"+"口座残高 : "+DoubleToStr(AccountBalance(),0)+"円"+

         "¥n"+"有効証拠金 : "+DoubleToStr(AccountEquity(),0)+"円"+

         "¥n"+"余剰証拠金 : "+DoubleToStr(AccountFreeMargin(),0)+"円");

※事前にオーダーセレクトをしておきます。

iPhoneでは、下記のように文字化けして表示されます。

: 2012.03.27 17:16
y A : USDJPY
V O i :
[ g : 82.825
b g : 0.1


c : 4992750 ~
L : 4992590 ~
] : 4984308 ~

 これを全部半角英数の下記のようなコードにすると、

SendMail("Mail",

         "Time : "+TimeToStr(TimeLocal())+

         "¥nSymbol : "+OrderSymbol()+

         "¥nSignal : New Buy"+

         "¥nOpen Price : "+DoubleToStr(OrderOpenPrice() ,Digits)+

         "¥nLots : "+DoubleToStr(OrderLots(),2)+

         "¥n¥n¥n"+"Balance : "+DoubleToStr(AccountBalance(),0)+" Yen"+

         "¥n"+"Equity : "+DoubleToStr(AccountEquity(),0)+" Yen"+

         "¥n"+"FreeMargin : "+DoubleToStr(AccountFreeMargin(),0)+" Yen");

 文字化けせずに下記のように正常に表示されます。

Time : 2012.03.27 17:19
Symbol : USDJPY
Signal : New Buy
Open Price : 82.830
Lots : 0.1


Balance : 4992620 Yen
Equity : 4992460 Yen
FreeMargin : 4984177 Yen

 iPhoneにメールを送る時は、全部半角英数にするようにしましょう。

 今回はこれで終了です。

注意

内容には注意を払っていますが、保障は出来ません。
実際に運用する場合は、自己責任でお願いします。 

タイトルとURLをコピーしました