web-dev-qa-db-ja.com

Outlook 2007によってメッセージに挿入される文字シーケンス「�」

最近、妻と私の間の電子メールメッセージが、文字シーケンス「�」をメッセージに挿入することによって破損し始めています。これはエンコードの問題のようです。

SOに関するこの質問 は、文字列を文字「�」のUTF-8として識別します。グーグルが見つけたさまざまな議論は、人々が電子メールやWebサイトを閲覧するときに、この文字列に置き換えられる他のさまざまな文字(たとえば、アポストロフィや省略記号)を経験したことを示しています。このUTF-8文字は、さまざまなレンダリング不可能な文字の一般的な置換として使用されているようです。

この場合、私はLinuxでThunderbird(V52.5.0)を使用しており、妻はWindows 7でOutlook(2007)を使用しています(両方ともメッセージをHTMLとしてフォーマットします)。

Thunderbirdはいくつかの非表示のフォーマットマーカーを挿入します。これらはOutlookでこの文字列に置き換えられます。文字列は、次の2種類の場所に表示されます。

  • 文の終わりのピリオドと次の文の間の2つの空白スペースの最初を置き換える
  • 段落間に空白行を作成するために使用される改行。

置換はOutlookで行われ、Thunderbirdでレンダリングされたメッセージスレッドのすべてに適用されます。これには、Outlookで発信されたが、Outlookに返信する前にThunderbirdでレンダリングされたスレッドの一部であった古いメッセージが含まれます。

これはレンダリングの問題ではなく、文字の置換です。文字列が置き換えられると、いずれかのシステムで後でメッセージを表示したときに破損が残ります。

これはごく最近の問題なので、いずれかのシステムのソフトウェアまたはOSの更新が原因であると思います。

私はThunderbirdとOutlookのエンコーディング設定を調べましたが、実際、それらは雑多なミックスでした。 UTF-8、西ヨーロッパ(どこから来たのかわからない)、その他何か、西ISO 8859と思います)。すべてをUTF-8に設定しました。これらは私が見つけて変更したものです:

  • サンダーバード:Preferences | Display | Formating | Fonts Advanced | Text Encoding
  • Outlook:Tools | Options | Mail Format | International Options
    また:Tools | Options | Other | General | Advanced Options | Use Unicode message format when saving messages

また、ロケール設定が両方のシステム(米国、アメリカ英語など)でも依然として正しいことを確認しました。

残念ながら、症状は変わりません。 ThunderbirdやOutlookのさまざまな場所に隠れていて、見逃していた(またはその他の問題)エンコーディング設定はありますか?

4
fixer1234

エンコードの不一致が問題だったようです。破損していないと思った古いメッセージで再テストしていた。実際、それらはすでに破損しているようです。 Saeed SepehrのWebメールでのテストの提案は、症状のない新鮮なメッセージと両方向の返信の作成につながりました。

したがって、両方のシステムですべてのエンコーディングをUTF-8に設定することで問題が解決しました。そして、それが検証されました。

12月上旬に、別のThunderbirdユーザーがMozillaサポートフォーラムに同様の質問を投稿したことがわかりました。この問題が発生している人々は、エンコーディングをWestern(ISO-8859-1)に設定しました。 UTF-8に設定することは、少なくともソリューションの一部でした。

一部のユーザーを助けるように思われた(または少なくとも害はなかった)追加の推奨事項:

Edit | Preferences | Display | Formatting | Fonts Advanced | Text Encoding | 

When possible, use the default text encoding in repliesのチェックボックスをオンにします。 警告:これは、エンコーディングをUTF-8に設定することと組み合わせてのみ行います。これをエンコーディングをWestern(ISO-8859-1)に設定して実行すると、問題が悪化します。

メニューパスが異なるバージョン間で少し移動したことに注意してください。そのため、Thunderbirdのバージョンによっては、ここで説明されている設定への道を見つける必要があるかもしれません。

4
fixer1234

メールをHTML形式で送信しているようですが、ソースソフトウェアによってメールの本文にBOM(バイトオーダーマーク)文字が挿入されています。各文字のビット長が異なるため、英語以外の入力タイプでほとんど発生するため、それらを表示できない場合があります。

私はThunderbirdを使用していませんが、エンコーディングビューで「BOMなし」とマークされているオプションがあるかどうかを確認できます。確認してください。

私がうまくいくと思う別のオプションは、送信者クライアント(Thunderbird)でUTF-16を使用し、宛先(Outlook)のエンコーディングビューで同じオプションを使用することです。

2
Saeed Sepehr