-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtopic-356.html
110 lines (96 loc) · 6.77 KB
/
topic-356.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr">
<head>
<title>日本PHPユーザ会 掲示板: PHP 5 » 電子メールの長いファイル名の添付ファイルで、ファイル名が文字化けする</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。" />
<meta name="keywords" content="php,web,php.gr.jp,community,usebb" />
<link rel="stylesheet" type="text/css" href="./templates/phpgrjp0.3/styles.css" />
<link rel="shortcut icon" href="./templates/phpgrjp0.3/gfx/usebb.ico" />
<link rel="alternate" type="application/rss+xml" title="日本PHPユーザ会 掲示板 RSS フィード" href="rss.xml" />
<script type="text/javascript" src="sources/javascript.js"></script>
</head>
<body onload="javascript:init_external()">
<div id="pagebox-bg">
<div id="shadow-left">
<div id="shadow-right">
<p id="logo"><a href="index.html"><img src="./templates/phpgrjp0.3/gfx/usebb.png" alt="UseBB" title="ホーム" /></a></p>
<h1 id="boardname"><span id="line">日本PHPユーザ会 掲示板</span></h1>
<h2 id="boarddescr">日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。</h2>
<div id="topmenu"><ul>
<li><a href="index.html">ホーム</a></li><li><a href="faq.html">FAQ</a></li><li><a href="active.html">活発なトピック</a></li>
</ul></div>
<div id="topmenu-shadow"></div>
<p class="locationbar">
• <a href="index.html">日本PHPユーザ会 掲示板</a> » <a href="forum-4.html">PHP 5</a> » 電子メールの長いファイル名の添付ファイルで、ファイル名が文字化けする
</p>
<h3 id="forumname"><a href="topic-356.html">電子メールの長いファイル名の添付ファイルで、ファイル名が文字化けする</a></h3>
<p id="forummods"></p>
<p id="toolbartop"> </p>
<p id="pagelinkstop">ページ: 1</p>
<table class="maintable">
<tr>
<th>投稿者</th>
<th>投稿</th>
</tr>
<tr class="tr1">
<td class="postername">
<div class="posternamecontainer"><a href="profile-308.html">yocco</a></div>
</td>
<td class="postinfo">
<div class="postlinks"></div>
<div class="postdate"><a href="topic-post903.html#post903" name="post903" rel="nofollow">#1</a> 2011 年 10 月 20 日(木) 19:37</div>
</td>
</tr>
<tr class="tr1">
<td class="posterinfo">
会員
<div class="avatar"></div>
<div class="field">登録者: 2 2010</div>
<div class="field">返信数: 7</div>
<div class="field"></div>
</td>
<td class="postcontent">
<div class="post">PHPというかPEARのMail_mimeについて質問です。<br /><br />Mail_mimeクラスを使って、電子メールの添付ファイルを実装しました。<br />添付ファイルのファイル名が長い場合に不具合が起こって困っております。<br />どなたか解決策を知っている方がいらっしゃれば、教えていただけたらと思います。<br /><br /><br />現象<br />長い日本語名のファイルを添付して送信すると、添付ファイルの名称が文字化けした形になる。<br />5-10文字程度なら、文字化けしません。<br />また、送信したファイルの内容に関しては、拡張子などファイル名を正しく設定しなおせば、正常に開くことができます。<br /><br />考察<br />受信したファイルのMIME情報を見てみました。<br /><br />●文字化けするパターン<br />Content-Type: application/octet-stream;<br /> name*0*=US-ASCII''%3D%3FISO-2022-JP%3FB%3FGyRCOXE6XSU3JXMlXSU4JSYlYDlxOl0;<br /> name*1*=lNyVzJV0lOCUmJWA5cTpdGyhC%3F%3D%0D%0A%20%3D%3FISO-2022-JP%3FB%3FL;<br /> name*2*=nBkZg%3D%3D%3F%3D<br /><br />〇文字化けしないパターン<br />Content-Type: application/pdf;<br /> name="=?ISO-2022-JP?B?GyRCOXE6XSU3JXMlXSU4JSYlYBsoQjIwMTEgGyRCIVZHWSQsJHMkThsoQg==?=<br /> =?ISO-2022-JP?B?GyRCPTgzWEUqPCNORSROOkdBMEB+GyhCIBskQiFdR1kkLCRzJE5LUBsoQg==?=<br /> =?ISO-2022-JP?B?GyRCTEckckxcO1gkNyRGIV0hVxsoQi5wZGY=?="<br /><br />文字化けしないパターンはメールソフトで長い名前のファイルを添付して送った場合です。<br /><br />どうも、MIMEの一行の長さを越えた場合にヘッダ情報を複数行にする処理が走っているようですが、一般のメールソフトではそれがなさそうです。<br />もしかすると、文字コードの変換の仕方が悪くてこのようになっているのかもしれませんが、短いファイル名だとうまくいきます。<br />ちなみに、UTF-8からISO-2022-JPへ変換するようにしています。<br /><br />Mail_mime::addAttachmentの引数で、このあたりを制御することが出来ないようです。<br />何かお気づきの点がありましたら、ご指摘いただけたらと思います。<br /><br />宜しくお願いします。<div class="editinfo">« 最終編集者 <a href="profile-308.html">yocco</a> 日時 2011 年 10 月 20 日(木) 20:10. »</div></div>
</td>
</tr>
<tr class="tr2">
<td class="postername">
<div class="posternamecontainer"><a href="profile-308.html">yocco</a></div>
</td>
<td class="postinfo">
<div class="postlinks"></div>
<div class="postdate"><a href="topic-post912.html#post912" name="post912" rel="nofollow">#2</a> 2011 年 10 月 25 日(火) 14:02</div>
</td>
</tr>
<tr class="tr2">
<td class="posterinfo">
会員
<div class="avatar"></div>
<div class="field">登録者: 2 2010</div>
<div class="field">返信数: 7</div>
<div class="field"></div>
</td>
<td class="postcontent">
<div class="post">自己レスです。<br /><br />どうも、ライブラリのRFC2231に準拠が逆にあだになっているようです。<br />PEARのmimiPart.phpに自分でパッチを当てて解決しました。<br />以前の形式でヘッダを作成するようにしました。</div>
</td>
</tr>
</table>
<p id="toolbarbottom"> </p>
<p id="pagelinksbottom">ページ: 1</p>
<div id="bottomfix"></div>
<p id="actionlinks"></p>
<p class="locationbar">
• <a href="index.html">日本PHPユーザ会 掲示板</a> » <a href="forum-4.html">PHP 5</a> » 電子メールの長いファイル名の添付ファイルで、ファイル名が文字化けする
</p>
<p id="linkbar">
</p>
<p id="bottom">
日本PHPユーザ会 掲示板 は <a href="http://www.usebb.net">UseBB 1 フォーラムソフトウェア</a> を使用しています
</p>
<div id="bottom-shadow"></div>
</div>
</div>
</div>
</body>
</html>