アカウント名:
パスワード:
日本中の全ての人がPC、ないしはスマホでメールを読んでくれるのならUTF-8でもいい。だがガラケーとかいうクソ馬鹿端末が存在する以上、日本語のメールはISO-2020-JP、それも-1でも-2でも-3でも、ましてや2004でもなく無印一択。なぜならあのクソ馬鹿端末は、全てのメールはISO-2022-JPという仮定の元にデコードするから。UTF-8やEUC-JPが文字化けするのは勿論、ダメ文字が含まれればUS-ASCIIでさえ容易く文字化けする。
ああわかってる。「ガラケーにメールを直接送ることなんてない。」そう言いたいんだろ?だが君が例えばGmail宛にメールを投げたとして、相手がGmailで
問題は、・SMTPの仕様として問題が無いか・相手の環境で表示できるかの2段階に分かれるので、まずそこを切り分けるべきかと。
SMTPは、7bitまでしか使えないんだから、7bitに収まるようなデータを送るべき。っていう話であれば、・7bitに収まるようになってるISO-2022-JPで送る・しかるべきエンコーディングをして7bitに収めて送るのどちらか、ってことになるし。拡張SMTPじゃ8bitも使えるし、今の世の中、8bit通さないサーバなんて残ってないよ。っていうなら、そこは気にしなくていいと思います。
相手の環境の話で言うと、今時の環境で今時のメーラであれば、utf8が読めないとか、一般的なエンコード形式に非対応とか、そんなことはないでしょうし。ほとんど気にしなくていいんじゃないですかね?
まあ、それでも、結論としては、『ISO-2022-JPで送るのが一番無難で確実』ってことになるんでしょうけど、ISO-2022-JPだけではどうしようもない場合もあるので、一択とは言わずに、必要に応じてutf8も使う。ってくらいに考えておけばいいんじゃないかと思います。
あと、いわゆる『ガラケー』は、インターネットメールを直接送受信できず、キャリア側が、コード変換等を含めた中継処理を行っています。なので、適当な文字コードで投げても、だいたい問題はないはずです。
試しにezwebのガラケーに、Content-Type: text/plain; charset=utf-8でメール投げてみましたが、基本的にはちゃんと読めました。ただし、半角カナは、全角カナに置き換わっていたので、そのへんは考慮する必要があるかもしれませんが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
そこはISO-2022-JP無印一択 (スコア:1)
日本中の全ての人がPC、ないしはスマホでメールを読んでくれるのならUTF-8でもいい。
だがガラケーとかいうクソ馬鹿端末が存在する以上、日本語のメールはISO-2020-JP、それも-1でも-2でも-3でも、ましてや2004でもなく無印一択。
なぜならあのクソ馬鹿端末は、全てのメールはISO-2022-JPという仮定の元にデコードするから。
UTF-8やEUC-JPが文字化けするのは勿論、ダメ文字が含まれればUS-ASCIIでさえ容易く文字化けする。
ああわかってる。「ガラケーにメールを直接送ることなんてない。」そう言いたいんだろ?
だが君が例えばGmail宛にメールを投げたとして、相手がGmailで
Re:そこはISO-2022-JP無印一択 (スコア:1)
問題は、
・SMTPの仕様として問題が無いか
・相手の環境で表示できるか
の2段階に分かれるので、まずそこを切り分けるべきかと。
SMTPは、7bitまでしか使えないんだから、7bitに収まるようなデータを送るべき。
っていう話であれば、
・7bitに収まるようになってるISO-2022-JPで送る
・しかるべきエンコーディングをして7bitに収めて送る
のどちらか、ってことになるし。
拡張SMTPじゃ8bitも使えるし、今の世の中、8bit通さないサーバなんて残ってないよ。
っていうなら、そこは気にしなくていいと思います。
相手の環境の話で言うと、
今時の環境で今時のメーラであれば、
utf8が読めないとか、一般的なエンコード形式に非対応とか、
そんなことはないでしょうし。
ほとんど気にしなくていいんじゃないですかね?
まあ、それでも、結論としては、
『ISO-2022-JPで送るのが一番無難で確実』
ってことになるんでしょうけど、
ISO-2022-JPだけではどうしようもない場合もあるので、
一択とは言わずに、必要に応じてutf8も使う。ってくらいに考えておけばいいんじゃないかと思います。
あと、いわゆる『ガラケー』は、インターネットメールを直接送受信できず、
キャリア側が、コード変換等を含めた中継処理を行っています。
なので、適当な文字コードで投げても、だいたい問題はないはずです。
試しにezwebのガラケーに、
Content-Type: text/plain; charset=utf-8
でメール投げてみましたが、基本的にはちゃんと読めました。
ただし、半角カナは、全角カナに置き換わっていたので、
そのへんは考慮する必要があるかもしれませんが。