ジョバンニが一晩でやってくれました。
あのさ〜ぁ〜、
NEWTYPEのブログはさくらインターネットを使ってるんですが、たまに文字化けするんですわ。
なんでかな〜と思ってたんだけど、iPhoneユーザーがたまに文章が文字化けして全く謎だった。
で、苦肉の策で、一旦NEWTYPEのサーバー上にブログ用の記事をメールで飛ばしてもらって、それをそのままNEWTYPEのブログに飛ばすようにしていました。
それで何とか送れたね〜と喜んでいたら、
また文字化けが発生。
なんでだろう。
相当むずかしかったんだけど、
ジョバンニが一晩でやってくれましたwww
ジョバンニ(ゆう天)曰く
「ブログを一から作るのと同じくらい大変でした。」
これすごい事実なんだけど、
文章の頭に日本語以外のものを書くと文字化けすることを突き止めたそうです。
すなわち、添付ファイル(画像など)です。
なぜかというと
iPhoneのメールアプリは文字コードがバラバラのものが混在していて
メールの本文の文頭や、件名にJISコードで表現できない文字があった場合、iPhoneはUTF-8というコードでメールを送信します。よく言えば「自動的に。」悪く言えば「勝手に。」
つまり、文頭に画像が添付される場合、よく使うJISコードではなく、UTF-8だとして送信します。そして文末に付く「iPhoneから送信」の文字列のみ、JISなのです。これは変化せず。
題名と本文とをそれぞれ別の文字コードで送るのです。つまり、件名にだけ特殊文字が含まれているときは「件名はUTF-8、本文はJIS」でメールが
エンコード(コード化)されるのです。逆に本文の一番最初に日本語以外を入力して送信した時は「件名はJIS、本文はUTF-8」でエンコードされます。
それはスペースや画像、英語、記号などです。
真ん中に入る分には問題ないのですが、それらの文字が文頭に来た場合、
「UTF-8のメール」として暗号化されたメールが送信されます。
わかりやすく言うと、
「全員玉砕して死にました!(正しい内容)」という連絡を
「サクラサクラ(文字化け)」と暗号化して最後に「iPhoneから送信」をくっつけて送信します。
送信した側は「全員玉砕して死にました!(正しい内容)」と送っているので、ちゃんと送れていると判断します。
送信したメールは「サクラサクラ(UTF-8)」「iPhoneから送信(JIS)」です。
「サクラサクラ」「iPhoneから送信」と届いたのは受信側。カッコ内はわかりません。
受信された側はこの文字がJIS(伝えたいこと)なのかUTF-8(暗号化されているのか)判断しますが、これは全部JISだと判断して表示します。
ですので、「iPhoneから送信」だけは正しい内容で伝わっているので、これをヒントに割り出したようです。
読む人も暗号なんて知らないので、
桜?ん?となり、正しい内容は伝わっていません。
さっくりいうと、受信された側からすると、「添付ファイルが3つある、ただのデータ」なんですね。
そこまでわかりました。
ではどうするか。
ゆうてん(ジョバンニ)は考えました。
文頭に日本語を入れればいいんだ!
一旦NEWTYPEのサーバーにメールして、転送する際に文頭に日本語を入れて送信!
これで文字化けはなくなるそうです。
すげぇぇぇぇぇぇっぇぇぇぇぇぇぇぇぇぇぇ
てかなんでiPhoneはそんなメールアプリつっこんでるんだろうね〜。