- ベストアンサー
もらったメールが文字化けしています
知人から送られてきたメールが文字化けしており困っています。 <送信者の環境> 送信者は中国からですが、文字入力は間違いなく日本語でされています。 ただし、Yahooのフリーメールを利用しています。(@yahoo.co.jpではなくて@yahoo.comです) <受信者(私)の環境> 私の方は、Becky!を利用しています。 メニューから文字化け用の解読も試してみましたし、 自分のフリーメールにも転送してみましたが、 いずれもダメでした。 過去の質問も検索をかけてみて、似ているものを 調べたり、参考URLにも行ってみましたが、 よく理解できていない部分もあっていずれも 成功しておりません。 ちなみに、メールのヘッダ情報を調べると MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii となっています。 これって、 Content-Type: text/plain; charset="ISO-2022-JP" になっていないと日本語で読めないんでしたっけ? それに、他のメールでは見受けられる Content-Transfer-Encoding: 7bit っていう部分もないんです。 今後も中国と日本で(日本語で)メールのやりとりを するつもりなので、今回の化けたメールの復元法と、 文字化けを防ぐための根本的な解決法とを、 両方、教えていただけると大変助かります。 よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
う~ん、だんだん私程度の知識では追っ付かないレベルの 話になって来てしまいそうですね(^^; ちなみに、中国の方は日本人ですか? パソコンは日本で購入されたのでしょうか? 例えば、OSだけは日本語対応になっているけど、 ブラウザは日本語非対応になっているとか、 そう言う事は無いですか?(それじゃあ日本語のホームページ見れないか) あるいは、ブラウザの設定で標準がUSになっているとか。 徐々に自分の知識の無さを暴露して行く様でアレなんですが、 私の思い付くところはこのくらいしか・・・(^^; あと、自分のホームページにもあるのですが、 CGIを用いないフォームメールからだと文字のエンコード (文字をデータにバラす処理?)が変わってしまって 文字化けする事があるので、それをまた日本語に変換する JAVA Scriptを書いて対応していたりします。 うまく行かない事も多いですが、参考までに。 <html> <HEAD> <TITLE></TITLE> <SCRIPT LANGUAGE="JavaScript"> <!--- function dec(C) { document.Out2.Decode2.value=unescape(C.Input2.value) } //---> </SCRIPT> </HEAD> <BODY BGCOLOR="#FFFFFF"> *ASCII形式の文字をデコードする<P> <form name="In2"> <textarea name="Input2" ROWS=5 COLS=50></TEXTAREA><P> <INPUT TYPE="button" VALUE="変換!!" onClick="dec(this.form)"> <INPUT TYPE="reset" VALUE="Clear"> <P> </FORM> <FORM NAME="Out2"> <TEXTAREA NAME="Decode2" ROWS=10 COLS=50></TEXTAREA><P> <INPUT TYPE="reset" VALUE="Clear"> </FORM> </BODY> </html>
その他の回答 (5)
- kenkenkent
- ベストアンサー率30% (565/1854)
一応、私のヤツも、本では『ASCIIコードの文字をデコードする』 となっているのですが、文字化けしたメールって、 たまに途中に変なモノが混じっていて、 それが変換の妨げになる事があるみたいですね。 あまりお役に立てなくて申し訳ないのですが・・・。 ちなみに、このJAVA Scriptは私が組んだものではありません。 参考にある書籍に掲載されていたものを打ち直しただけですので、 お礼は秀和システムさんに(笑)
お礼
そうでしたか(笑)。 それでも、わざわざ打ち出していただき、 大変感謝しております。 とりあえず、やりとりはできるように なりそうなので、なんとかなりそうです。 本当にいろいろとありがとうございました。
- kenkenkent
- ベストアンサー率30% (565/1854)
なるほど、それではブラウザ自体が日本語の文字コードに 対応していない可能性も十分考えられる訳ですね。 だとしたら、私のあげたJAVA Scriptも、役に立つかどうか判らないのですが・・・。 使い方を教えるの忘れてましたね。 下の欄の<html>~</html>までをコピーして、 テキストエディターかワープロにペーストして下さい。 それで、ファイル名を適当につけて保存します。 そのファイルをブラウザーで開くと、文字を入れる欄が 2つあるページが表示されますので、その上の方の欄に 文字化けしたメールの本文をコピー&ペーストで入力して、 『変換!』ボタンをクリックしてみて下さい。 うまく行くと見事日本語に変換されます。
補足
ありがとうございます。さっそく試してみましたが、 残念ながら私のところに届いたメールに関しては、うまく変換されませんでした。 せっかく教えて下さったのになんだか申し訳ないです・・・。 やはり、日本語入力はできていても、ブラウザが 日本語の文字コードに対応していないために、 ASCIIコードとして送信してしまっている、と理解したほうがよいのですね。 「読めませんよ」と私の方から送ったメールが、 向こうでも文字化けしていた、という連絡が来たのですが、それも同じ理由と考えていいのでしょうか。 その時は、周りの人に読めるようにしてもらった、 ということでしたので、その手順をきちんと覚えてもらうことにします。 プログラムまで組んでいただき、正直感動しております (ちょっと勉強してみたくなりました)。 もう少し質問を開いておきますが、お礼は忘れずにいたしますので。 それでは。
- kenkenkent
- ベストアンサー率30% (565/1854)
いや、両方がhotmailにしなくても、 先方からの送信だけhotmailにしてもらって、 seeさんは今まで通りBecky!で受信すれば良いのでは?
補足
kenkenkentさん、ありがとうございます。 それがですね、別のメールをhotmail→私のプロバイダの メールアドレス宛に送ったもらってBecky!で受信 したのですが、またも文字化けしてるんです。今回は、 Received:********* X-UIDL: ********* となっていて、 Mime-Version:******** Content-Type: ******** の部分が明らかに欠けています。 そういえば、相手の人が日本に来ていたときに もらったメールでも化けていたことがあったので、 そのメールのヘッダ情報も見てみましたが、 Mime-Version: 1.0 Content-Type: text/plain; format=flowed という風になっています。うまくいくときには、 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp; format=flowed となっているんですけど・・・。 その時のPCの環境、ブラウザの設定、hotmailへの入り方 によって変わってきてしまうのでしょうか? なんだか、ごちゃごちゃしてしまい申し訳ないですが、 なにかわかることがあれば教えて下さい。 よろしくお願いします。
- kenkenkent
- ベストアンサー率30% (565/1854)
>Content-Type: text/plain; charset=us-ascii となっているとの事ですが、文字コードが英語になっていますね。 もしかすると、YAHOO.comのフリーメールが英語にしか対応していないのかも知れません (って言うか、その可能性大ですね)。 ここはやはり、日本語向けにセッティングされているであろう YAHOO.co.jpを素直に利用した方が良いと思います。 ・・・と思ったら、その手続きはすでにされていたのですね。 恐らくはこれで問題解決するとは思いますが、 これでもたまに、文字コードの違いなどで文字化けする可能性はゼロではありません。 インターネットって難しいですね(^^;
お礼
kenkenkentさん、ありがとうございます。 やはり、その方法が一番なのですね。 相手は、まだ、YAHOO.co.jpのIDを取っていませんが、 とりあえず、お互いにhotmailのアドレスを持っている ことが判明したので、そちらで文字化けメールを 再送してもらい、無事に読むことができました。 できれば、こちらは普段のメーラーをそのまま 利用できるといいんですけどね、欲張りかな(笑)。
- Blackwingls
- ベストアンサー率44% (138/313)
おはようございます、Blackwinglsです。 > Content-Type: text/plain; charset=us-ascii これで日本語を送ったら文字化けすると思います。 charsetを直すようなツールも捜せばあるとは思いますが、ここはやはり相手にyahoo.co.jpからメールを送ってもらうようにした方が簡単だと思います。
お礼
Blackwinglsさん、さっそくのアドバイス ありがとうございます。 やはりそれが一番簡単な方法なのですね。 メールの相手には、yahoo.co.jpでアドレスを 取ってもらうようにすでにメールをしてあります。 それで大丈夫なのかちょっと自信がなかった ものですから、大変助かりました。 どうもありがとうございました。
補足
kenkenkentさん、だんだんと厄介な質問に巻き込んで しまって申し訳ない限りです(^^; 肝心な情報を伝えてなかったですね。 相手は中国人で、メールを送っているPCは、 おそらく日本のものではないと思います。 本人のPCはネットに繋がっていないので、 インターネットカフェ(北京にそういうところが あるとは全然しらなかった・・・)か、 友人のPCを利用しているのだと思います。 だからOS(Windows)もブラウザも日本語版では ないはずです(すみません、確かめますね)。 それでも、日本語入力はできているという状況です。 向こうのブラウザの設定しだいでどうにかなるのかなぁ、 なんて勝手に想像していたのですが、すみませんです、 あんまり知識が伴っていないもので・・・(^^; JAVA Scriptまで付けてもらって、本当にありがとう ございます。いつしか理解できるように頑張ります(笑)。