メールの送受信を行なう際、相手から「文字化けしているよ」といわれることはないでしょうか?その理由と3分でできる対処法をご紹介。今回はMacでトラブルが起きる場合を解説します。
なぜ文字化けするのか?
これはほとんどの場合文章の文字コードが違うために生じます。文字コードとは、ひらがなや漢字それぞれに番号を振り、この文字を表示するにはこの番号(コード)を、というルールのことですが、言語によって使うルールが違ってきます。
しかも日本語の中でもITの発展の歴史の中で数種類分かれており、メールを送受信する相互の使うコードが違う場合、相手に違う文字が表示されて「文字化け」が起きてしまう訳です。
現在のところ、世界的な基準としては「UTF-8」という文字コードが標準化してきています。しかし日本国内の場合「ISO-2022-JP」を使っておく方が無難。
なぜ相手は違う文字コードを使っているのか?
相手も同じ文字コードを使っていてくれたらこんなトラブルは起きないのに、なぜ違ってくるのか?それは主にメールソフト(メールクライアント)が既定で使っている文字コードが違ってくるために生じます。
Macの場合、標準で搭載されているメールソフトMailの既定の文字コードは「UTF-8」。相手がWindowsであってもほとんどのメールソフトにはこの文字コードが搭載されているのでちゃんと表示されるはずですが、そうでないときに文字化けが発生します。
これはTiger, Leopard, Snow Leopardどのバージョンでも起きうるもののようです。
またもう一つよくある事例。それは相手に返信を行なったとき、文字化けしてしまう現象です。
返信として送った場合、相手の文字コードとして扱われるので、こちら(送った側)の文章が相手の文字コードとして表示され化けてしまうことがあります。
とくに多いのが、相手が古い「Microsoft Outlook」メールソフトを使っている場合。 「Shift_JIS」文字コードを使っており、Mailでも表示できるはずですがメールヘッダにこの指定がされていないケースが多く、文字化けする場合があります。
文字コード問題は奥が深いためその他ケースが分かれてくるかもしれませんが、国内のメールソフトで一般的な「ISO-2022-JP」としておく方が問題が少ないためおすすめです。
解決方法
MacのMailはまずはじめに終了させておいてください。
そしてアプリケーションの「ターミナル」を起動します。
「アプリケーション」の中の「ユーティリティ」内の、「ターミナル」をクリック。
アクセスはFinderからでも、Dockの「アプリケーション」エイリアスからでもOK。
登場したターミナルの画面に、以下の文章を入力し、「return」キーを押します。
defaults write com.apple.mail NSPreferredMailCharset “ISO-2022-JP”
画面にはとくに変化は起きないですが、これで設定完了です。
念のためテストメールを自分宛に送り、文字コードが変わっているかをメールヘッダから確認します。
テストメールを表示した際、上部タスクバーの「表示」→「メッセージ」→「すべてのヘッダ」をクリックします。
この中の「Content-Type」という項目が「iso-2022-jp」なっていれば設定成功です。
Content-Type: text/plain; charset=iso-2022-jp
この上で「文字化けしちゃってるヨ」という声がなくなってきたら一安心。
参考:アップルサポート:Mac OS X 10.4: Mail から Web Mail や携帯電話に送った送信メールが文字化けする
ターミナルを起動した際、画面に文字があるのですが、消してから
入力すれば良いのでしょうか?
同じようにやってみたのですが、メールの文字が「iso-2022-jp」に変わりません><
なんででしょう・・・
TAMURAさんコメントありがとうございます。ターミナル起動時に表示される文字は、消さずにその文字の後に入力してください。
noriさんコメントありがとうございます。
わたしは、Mailを起動させたまま行なったとき「iso-2022-jp」に変わらないという症状はありました。
よければ起動しているアプリをすべて終了してから上記の作業を行い、念のため再起動してから試してみていただけますか?
うまくいくといいですね。
メールを終了させて、記載の通り実行しました。
うまくいきません。。。
再度メールを起動させて、テキストエンコーディングを確認すると「自動」「 (空欄)」にチェックが入っており、EUCとWindowsDOS以外がアクティブ表示になっています。
結局、手動で変更しました。
初心者にも関わらず、ターミナルを安易に触ったことを後悔しています。元に戻す方法を、教えていただけないでしょうか?
こんにちは。
IMAC OS10.6.8を使用しております。
何回か試みましたが、上手くいきませんでした。
また、試験的に送受信したメールのコードは、毎回違うコードが表示されています。
もとに戻したい場合は、どのようにしたらよいでしょうか。
お手数ですが、ご教授ください。
宜しくお願い致します。
かなお
教えて頂いた方法で、文字化けは解消されたようです。ありがとうございます。
このコマンドですが、もし元に戻したい時はどのようにすればよいでしょうか?教えて下さい。
Kojiさんと同じ質問ですが、元に戻すにはどうすればいいでしょうか?
みなさん返信お待たせしました。
ISO-20220JPからデフォルトへの戻し方ですが、同じようにターミナルのコマンドにて「UTF-8」を指定することができます。
ターミナルを開き、下記のコマンドを入力してください。
defaults write com.apple.mail NSPreferredMailCharset “UTF-8”
これで文字コードが変更されます。
もしTimeMachineをお使いでしたら、Mailを変更前に戻す方が簡単かもしれません。
ご説明のとおりにしたらうまくいきました!仕事のやり取りで困っていましたので大変助かりました。ありがとうございます。
実は、この問題に関連して質問がございます。
MacのMailアプリケーションではGmailアカウントも使用しているのですが、MailアプリケーションからGmailアカウントのメールアドレスを使用してメールを送信すると、やはり文字化けしてしまうことがあります。この場合、送信済メールの「Content-Type:」という項目は、「multipart/alternative; boundary=Apple-Mail-12-701420491」となっています。
Macアカウントでの解決方法と同様にターミナルを使用して解決できるのではと思ったのですが、どのようなコマンドを入力すればよいでしょうか?