dポイントプレゼントキャンペーン実施中!

アメリカの友人へ日本語でメールを送り、返事が来ましたが、タイトル・本文すべて(私のメールの引用部分も含め)「?」だらけのメールが届きました。
もう一度こちらからローマ字でメールを送り、友人からもローマ字で返事をもらいました。
友人からのメールの内容を見る限りでは、こちらの日本語で送ったメールの内容は伝わっているようです。

ローマ字(半角)ではきちんと届いたのですが、1回目のメールが「?」だらけになってしまった理由がわからず困っています。
こちらの設定不具合だとは思うのですが、わかる方がいらっしゃいましたら、お教え願えると嬉しいです。

当方は「windows xp」の「outlook homestyle+」ユーザーです。
よろしくお願いいたします。

A 回答 (5件)

たぶん、相手のメールクライアント(メール送受信のためのアプリケーション、OutlookやOutlook Expressなど)の文字のエンコードに関する誤りだと思います。

質問者さんから送ったメールが読めたとのことなので、相手の側の問題なのではないでしょうか。

とりあえず、その???だらけになってしまったメールをダブルクリックで開き、上のメニューから「表示」→「オプション」と進んで、メッセージオプションというウィンドウの右下にあるヘッダー情報を見てみてください(当方、Outlookは使っていないので、多少は操作が異なるかもしれません)。そのヘッダー情報から、

Content-Type
Content-Transfer-Encoding

の2行に書いてある内容を確認してみてください。ここには、正しい日本語のメールであれば、

Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

と書いてある筈です。これ以外になっていると、そのメッセージは日本語として正しく処理できず、???だらけになってしまう場合があります。

例えば相手側のメールクライアントがそもそも欧文しか扱えないようなものの場合(ヘッダー情報のX-Mailerという行に、相手が使っているメールクライアントについての情報があるはずです)、日本語の正しい処理が出来ないだろうと思われるため、ローマ字でやりとりするしかない可能性はあります。
相手側のメールクライアントが日本語に対応したものである場合、Encodingについての設定を一時的に変えてもらうことで対応できるかもしれません。例えば相手のメールクライアントが日本語版のOutlook Expressの場合、「ツール」→「オプション」をクリックしてもらい、上のタブの中から「送信」を選んで、「エンコードの設定」ボタンを押してもらいます。出てきた設定の中から「日本語(JIS)」を選んでもらいましょう。これで、日本語のエンコードが正しくなるのではないでしょうか。
ただし、そのままだと、今度は現地の人に英語でメッセージを送るときに正しいヘッダがつきませんから(ヘッダが間違っていても、英文が文字化けすることはないと思うのですが、間違いは間違いです)、質問者さんへのメール以外については元に戻すようにお願いすると良いと思います。
    • good
    • 0
この回答へのお礼

早速のご回答、ありがとうございました(#^.^#)
とてもわかりやすく解説してくださり、大変助かりました。
ヘッダー情報を見てみますと、たしかに

Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

の2行は

Content-Type: text/plain;charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

となっておりました。日本語として正しく処理できない状態なのですね。

メールクライアント情報ですが、目を皿のようにして何度も確認しましたがX-Mailerという行は見つけられませんでした。

とりあえず、こちらの不具合ではないようなので安心しました。
私にメールを送るたびに、Encodingの設定を変えてもらうのも申し訳ないので、こちらへ返信の時はローマ字でお願いしようと思います。

わかりやすい回答をありがとうございました。

お礼日時:2005/06/01 08:09

#1,3の回答者です。



> 同じ日本語でも4つもあるのはなぜなのでしょうか?

主に歴史的な理由になります。今は、インターネットというネットワークを介して、日本語を処理できる様々なコンピュータが共通のインフラで電子メールというメッセージをやりとりできるようになりましたが、ちょっと前までは、こういったことは現実的ではなく、例えばA社のPCで作った日本語の文章はB社のPCでは文字化けする、というようなことが日常的に起きていました。今の日本語の4つの規格(実際にはもっとあります)についても、そういった過程の中で出来てしまった規格、ということになります。

実際のところ、今のWindowsXPのPCで処理されている日本語は、「Unicode」というコードでPCの内部では処理されています。このUnicodeというのは、全世界の様々な言語で使われている多種多様な文字を一つのコード体系で表そうという目的のために作られたコードで、これが理想通りに実現すると、世界中のどのPCであっても、どんな言語を使用しても文字化けのないコンピュータ環境を作れるのですが、まだ理想に現実が追いついていないのです。
このUnicodeは一文字を16ビット(2進数16桁)の数字で表すのですが、現在の電子メールは一文字を7ビットで送らなくてはいけない決まりになっています(十数年前の古い規格がそのまま残っているのです)。よって、Unicodeのままではメールを送ることが出来ません。現在の様々な日本語の規格で、7ビットという電子メールの仕様に一番近いものはJISコードと呼ばれているもので、JISコードそのものは7ビットではありませんが、7ビットで簡単に表すことが可能です。電子メールには、JISコードの国際的名称であるISO-2022-JPという呼び方で多用されています。
Unicodeで書かれたWindowsの日本語の文章は、送信ボタンを押した瞬間、OutlookによってISO-2022-JPというコードに変更され(エンコードされ)、電子メールとして送信されます。その際、例の行がヘッダ情報に付加されるので、受信側はそのヒントを元に、再びUnicodeなり、他のコードなり、そのPCにとって扱いやすいコードに戻す(デコードする)という訳です。

その他のコードとしては、Shift-JIS(16ビットの日本語コードで、テキストファイルをセーブするときなどによく使われる)、EUC(最近流行りのLinuxというOSでよく使われる16ビットの日本語コード)などがあります。この2種はそのままでは7ビットに変換することが出来ず(どうしても8ビットにまでしかならない)、よって電子メールではそのままでは使えません。JIS1バイトカタカナ可というのは、半角カタカナを内包したJIS規格で電子メールで送ることは出来なくはありませんが、半角カタカナはサポートしていないOSが多くありますので、通常はインターネットでは半角カタカナを使ってはいけません(よって、JIS1バイトカタカナ可も出番はないという訳です)。

実際には使えないにもかかわらず、「Shift-JIS」「EUC」「JIS1バイトカタカナ可」という選択肢が3つも用意されている理由はよくわかりませんが、特殊な環境でメールを使う人のためにわざわざそういった選択肢を用意したのかもしれませんね。どちらにしても、日本語を正しく(文字化け無しで)送受信するためには、「JIS」を使うのが正しいです。
    • good
    • 0
この回答へのお礼

三度の回答、ありがとうございます!

なるほど。
そういう歴史で4つの規格になったんですね。
コンピュータの世界で互換性が高まった結果とは…。


今回、質問させていただいたことで
Unicodeやヘッダ情報の見方などが少し理解でき、
とても勉強になりました。

やっぱり「失敗は成功に母」なんですね!
PC知識はまだまだですので、これからも質問する機会があると思いますが、よろしくお願いします。

今回はありがとうございました。

お礼日時:2005/06/03 22:37

>きっと相手は日本語で送信できているんだと思います。



多分、向こうで受信した時に????という状態であれば、
文字化けしたメールが来たよ!とメールが来ると思い
ますので、向こうで日本語のメッセージは見れている
と想像できます。

>今回は「???」メールを受け取る側でしたが、逆に私が送ってしまうような場合はあるんでしょうか?
(現在、xpユーザーです)

正確な言い方ではありませんが、通常日本語にない
文字を使用し、unicodeで送信する必要があるのに、
強引に日本語で送った場合、その文字が化けること
はあります。

携帯メールに日本語以外をunicodeで送っても????
になります。たとえば、auにタイ語のメールを
送ると、すべて????になります。このケースは、
auのメールサーバーがunicodeをすべて日本語の
コードに変換して携帯に送っているためだと思います。

ベストの方法ではありませんが、仕事で文字化けを
気にするのが面倒なときは、ワードパットで文章
を作成して、リッチテキストファイルで保存し、
拡張子をwriに変更して添付して送っています。
(拡張子をrtfにしておくと、ダブルクリックでword
が立ち上がり重たいので…)
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

ワードパッドで文書を作成し、添付するというのはいい方法を教えていただきました!
こちらからのメールは日本語で読めるけれど、いざこちらで受けるときにローマ字ではきついなぁ、と思っていました。

早速友人にお願いしてみます。
ありがとうございました。

お礼日時:2005/06/03 22:26

#1の回答者です。



> 今回は「???」メールを受け取る側でしたが、逆に私が送ってしまうような場合はあるんでしょうか?

例えば、質問者さんが西ヨーロッパ言語でも日本語でもない言語でメールを書いて送った場合、#1でご説明したようなメールソフトのエンコード方式の正しい指定をせずに送ると文字化けする可能性はあります。例えば韓国語でメールを書いた場合、エンコードの設定を韓国語に変更してから送る必要があります。
韓国語でメールを書きつつ、いつものように日本語の設定、つまりメールヘッダが

Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

のままだと、受信した側でその文字を日本語(iso-2022-jp)だとして解釈しようとして、結果として化けてしまうということが考えられますので要注意です。

ちなみに、日本語が全く含まれていない英文のメールを送るときも、エンコードの方法を「西ヨーロッパ言語(ISO)」に変更してから送信するのがメールの規則としては正しいのですが、大概の日本人は、英文のメールを送る場合であっても日本語のエンコードの設定のままで送っていると思いますし、英語(アルファベット)はコンピュータにとっては、通常、誤解されようもない基本的な文字ですので、エンコードを日本語の設定のままで送っても文字化けすることはあまりないでしょう。
正しく言えば、今回のように「ぜんぶローマ字のメール」も、アルファベットしか使っていないメールなので、質問者さんはエンコードの設定を変えてから送るべきではあります(まあ、大丈夫でしょうけど)。

もしエンコードを「西ヨーロッパ言語(ISO)」に変えると、そのメールのヘッダには、

Content-Type: text/plain;charset=iso-8859-1 あるいはContent-Type: text/plain;charset=us-ascii
Content-Transfer-Encoding: 7bit

になり、向こうのメールソフトに正しく解釈してもらえる可能性が一番高くなります。
もっとも、エンコードを日本語の設定のまま、つまり

Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

のままで送っても、大体は文字化けせずに届くはずです。ただ、そこまで融通が利くのはコンピュータにとって最も基本的な文字であるアルファベットだから、ですので、他の文字(例えば日本語・韓国語など)の場合はエンコード方式の設定誤りはすぐに文字化けの原因になり得ます。

参考になりましたでしょうか?
    • good
    • 0
この回答へのお礼

2回目のご回答、ありがとうございます。
お二人に答えていただいて、ずいぶん理解できました。

Content-Type: Text/Plain;
Content-Transfer-Encoding:

のメールヘッダの2行で、PCはメールの言語を理解するんですね。
今回「???」だらけのメールが来たということは、私のPCが「訳わからん~!」と
パニクってしまったってことなのかな。
本来であれば「ローマ字でもエンコード設定を変える」も、とてもわかり易くて助かりました。

私が使用している「Outlook Homestyle+」で言語を変更するには
「ツール」→「オプション」→「メール形式」→「文字設定オプション」でした。


当初の質問は解決されているのですが(^_^;)
ちょっと疑問に思ったので、よろしいでしょうか?

「文字設定オプション」のところは現在  「日本語(JIS)」  になっています。
それ以外に
「日本語(EUC)」
「日本語(JIS 1 バイト カタカナ可)」
「日本語(シフト JIS)」
と、「日本語」が4つもありました。
同じ日本語でも4つもあるのはなぜなのでしょうか?
常に初期設定どおり「日本語(JIS)」のままでいいんですよね。
他の言語も同様に2つづつくらいありました。

お礼日時:2005/06/01 22:32

基本的に、????はユニコードが正しく変換されない時に


発生します。

JさんがAさんに日本語のメールを送ります。
Aさんはwindows2000、XPなどですとエンコードの機能が
ありますので、OSが日本語じゃなくても日本語の表示は
可能です。

AさんがPCが日本語のコードで受信し、また送信する
設定になっていればいいのですが、なっていない場合、
OUTLOOKなら"このメッセージには、規定の文字セットで
定義されていないも字が使用されています。このメッセ
ージを送信する時のオプションを選択してください"
と言った内容のメッセージが出ます。

ユニコードを選択すればよいのですが、そのまま送信する
を選択すると、変換できない文字は??に置き換わります。

outlookなどMSの最近のソフトは内部的にユニコード
で処理されます。日本語OSの場合、内部処理のユニコード
は日本語ですので、JISなどの日本語のコードにスムーズに
変換されます。

外国語OSでは、ソフトの内部では日本語のユニコードは
正しく処理されますが、規定の言語が英語で英語に
変換しようとすると、日本語のコードから英語のコード
への変換は不可能ですので??に置き換えられます。

相手側のOS、メーラー、メーラーの設定などによるもの
だと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

アメリカの友人は学生で、大学から振り分けられたアドレスを使っています。
PCも大学所有のものかもしれません。
ですので、OSが日本語でない確率はかなり高いと思われます。
友人に「???」で届いた、とメール(ローマ字で)を送ったときの返事は
「もう一度送ってみる。念のため、ローマ字で打っておく」と前置きがあり、「ローマ字」の文章と「???」の文章(らしきもの)が届きました。
きっと相手は日本語で送信できているんだと思います。

今回は「???」メールを受け取る側でしたが、逆に私が送ってしまうような場合はあるんでしょうか?
(現在、xpユーザーです)

お礼日時:2005/06/01 17:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!