その他
webMailのsquirrelmailにある添付ファイル文字化け対応を調べてみた
例によって添付ファイルが文字化けする上に対応されてないっぽいんだが
自力で治してしまった人がいるようでここを参考にしてみた
http://www.on-sky.net/~hs/index.cgi?date=20070816
ここの人はsquirrelmail-1.4.10aのを直しているので、1.5.2だと問題個所が違った…
まぁ、該当のfuncitonはだいたい一緒っぽいので、ほじくりあててみた
というわけで直ったので忘れないようにメモ
うん、自力でやったら相当かかっただろうな、すごい人はいるもんだ
ほんとなら野良patchでも作ればいいんだろうけど、すまんよくわからん
てなもんで、1.5系はここ直したらちゃんと動いた
>||
●locale/ja_JP/setup.php
以下のfuncitonを以下のように修正(156行目あたり)
function japanese_xtra_downloadfilename($ret,$useragent) {
if (function_exists('mb_detect_encoding')) {
//ダウンロード文字化け対応
// if (strstr($useragent, 'Windows') !== false ||
// strstr($useragent, 'Mac_') !== false) {
if (strstr($useragent, 'Windows') !== false) {
$ret = mb_convert_encoding($ret, 'UTF-8', 'AUTO');
} else if (strstr($useragent, 'Mac_') !== false) {
//ここまで
$ret = mb_convert_encoding($ret, 'SJIS', 'AUTO');
} else {
$ret = mb_convert_encoding($ret, 'EUC-JP', 'AUTO');
}
}
return $ret;
}
●functions/mime.php
該当個所を以下のように修正(2644行目あたり)
if (!$force) {
// Try to show in browser window
header ("Content-Disposition: inline; filename="$filename"");
//ダウンロード文字化け対応
// header ("Content-Type: $type0/$type1; name="$filename"");
if ($isIE) {
header ("Content-Type: $type0/$type1;");
} else {
header ("Content-Type: $type0/$type1; name="$filename"");
}
//ここまで
} else {
// Try to pop up the "save as" box
●class/deliver/Deliver.class.php
該当個所を以下のように修正(493行目あたり)
for ($i = 0 ; $i < $cnt ; $i++) {
//ダウンロード文字化け対応
// $hdr_s .= $this->foldLine($header[$i], 78,str_pad('',4));
if (strstr($header[$i], 'name') === false) {
$hdr_s .= $this->foldLine($header[$i], 78,str_pad('',4));
} else {
$hdr_s .= $header[$i];
}
//ここまで
}
$header = $hdr_s;
$header .= $rn; /* One blank line to separate mimeheader and body-entity */
return $header;
}
||<
ニコ動
カッ!!
http://www.nicovideo.jp/watch/sm4632539