Re: 添付ファイルが本文で文字化け
Posted: 2014年6月17日(火) 07:17
まだ、「文字化け」云々と、ある種「ナンセンスだ」と言っておいたものとか、同じPDFファイルだの別のPDFファイルだとか、無関係のPPTやJPEGがでてくる...
問題の本質は、
(1-a) Content-Type: application/pdfでないといけないのに、 Content-Type: text/htmlで、拡張子=.pdfのファイルが添付されたメールが送られてきた。
(1-b) あるいは、Webサイトに Content-Type: text/htmlでPDFファイルがあって、それを添付してメールを作成したので、拡張子=.pdfのファイルなのにContent-Type: text/htmlで添付されたメールを作成した。
(2) (1)のメールに添付された.pdfファイルを見た時に、その間違った関連付け(.pdf ⇒ text/html)を、Thunderbirdに覚えこませてしまった。
(3) そのために、PDFファイルを添付すると、PDFなのに、Content-Type: text/plainで送られるようになってしまった。
(4) Thunderbirdの、間違った関連付け(.pdf ⇒ text/html)を消したら、元通り、PDFは、Content-Type: application/pdfで送られるようになった。
であり、
PDFは、本来インライン表示できないのに、text/htmlになっているので、表示/添付をインライン表示、にしていると、PDFファイルの中身をHTMLとして表示しようとするから、滅茶苦茶な表示になって当然。
それを「文字化け」というのは、ナンセンス。
「滅茶苦茶な表示になる」ことは、問題が起こっていることの、かなり確度の高い傍証であることは確かですが、
常に、メールのソースで確認し、「PDFファイルの添付なのに、Content-Type: application/pdfではなくContent-Type: text/htmlになっているメール」、ということを検証していかないとダメです。
[追記]
問題の本質を考えようともせず、「文字化け」といった曖昧なことを根拠にするから、以下のようなことを書き出すのです。
> (A) 実際に文字化けが起こったのは5/13 10:44送信分、同日11:05送信分も同じ
> (B) PDF文書Aを添付。➡本文で文字化けせず➡送付文書も文字化けせず、添付文書は問題なし⇒ソースd……5/20
問題の原因から考えると、問題が起こり始めたのは、5/13 10:44以前であり、間違った関連付けを消すまでは、拡張子=.pdfのファイルを添付すれば、必ず、Content-Type: text/htmlで送られてしかるべきです。
「文字化けの有無」は、U+FFFD(�)が表示されていたか・いないか、ではありませんか?
PDFファイルの中身は、asciやShift_JIS版もあれば、バイナリーデータ版もあります。
そして、PDFファイルの中身をHTMLとして表示すれば、何が表示されてもおかしくはありません。
以前、ちゃんと『ナンセンスだ」と書きましたよね。
以前書いたことは、ちゃんと読んでください。
[追記おわり]
問題の本質は、
(1-a) Content-Type: application/pdfでないといけないのに、 Content-Type: text/htmlで、拡張子=.pdfのファイルが添付されたメールが送られてきた。
(1-b) あるいは、Webサイトに Content-Type: text/htmlでPDFファイルがあって、それを添付してメールを作成したので、拡張子=.pdfのファイルなのにContent-Type: text/htmlで添付されたメールを作成した。
(2) (1)のメールに添付された.pdfファイルを見た時に、その間違った関連付け(.pdf ⇒ text/html)を、Thunderbirdに覚えこませてしまった。
(3) そのために、PDFファイルを添付すると、PDFなのに、Content-Type: text/plainで送られるようになってしまった。
(4) Thunderbirdの、間違った関連付け(.pdf ⇒ text/html)を消したら、元通り、PDFは、Content-Type: application/pdfで送られるようになった。
であり、
PDFは、本来インライン表示できないのに、text/htmlになっているので、表示/添付をインライン表示、にしていると、PDFファイルの中身をHTMLとして表示しようとするから、滅茶苦茶な表示になって当然。
それを「文字化け」というのは、ナンセンス。
「滅茶苦茶な表示になる」ことは、問題が起こっていることの、かなり確度の高い傍証であることは確かですが、
常に、メールのソースで確認し、「PDFファイルの添付なのに、Content-Type: application/pdfではなくContent-Type: text/htmlになっているメール」、ということを検証していかないとダメです。
[追記]
問題の本質を考えようともせず、「文字化け」といった曖昧なことを根拠にするから、以下のようなことを書き出すのです。
> (A) 実際に文字化けが起こったのは5/13 10:44送信分、同日11:05送信分も同じ
> (B) PDF文書Aを添付。➡本文で文字化けせず➡送付文書も文字化けせず、添付文書は問題なし⇒ソースd……5/20
問題の原因から考えると、問題が起こり始めたのは、5/13 10:44以前であり、間違った関連付けを消すまでは、拡張子=.pdfのファイルを添付すれば、必ず、Content-Type: text/htmlで送られてしかるべきです。
「文字化けの有無」は、U+FFFD(�)が表示されていたか・いないか、ではありませんか?
PDFファイルの中身は、asciやShift_JIS版もあれば、バイナリーデータ版もあります。
そして、PDFファイルの中身をHTMLとして表示すれば、何が表示されてもおかしくはありません。
以前、ちゃんと『ナンセンスだ」と書きましたよね。
以前書いたことは、ちゃんと読んでください。
[追記おわり]