[sisyphus] Re: Белку на мыло!

Konstantin A. Lepikhov =?iso-8859-1?q?lakostis_=CE=C1_anti-leasure=2Eru?=
Пн Ноя 15 01:47:20 MSK 2004


Hi Konstantin!

Sunday 14, at 11:21:24 PM you wrote:

> Hi!
> 
> Так и не заработала в Сизифе белка в utf-8 и с поддержкой 8-bit.
> Предыдущие советы насчет mbstring не помогли - все также упорно пытаемся
> изобразить фрейм в родной 8-bit кодировке при ответе (видимо, эта часть
> вообще _никак_ не перекодируется) посреди utf-8 страницы. Пионерский задор
> авторов sq просто удивляет :-]
Сам же себе и помогаю :) Итак, несколько патчей для облегчения страданий:

1) маленький фикс для quoting'а (есть такая бага в 1.4.3a).
2) грязный хак для правильного перекодирования 8-битного тела письма при ответе
в utf-8. Поскольку у меня cyrus, то проблемы перекодирования subj
и остального не так значительны ;)

-- 
WBR, Konstantin	      chat with ==>ICQ: 109916175
     Lepikhov,	      speak  to ==>JID: lakostis на jabber.org
aka L.A. Kostis       write  to ==>mailto:lakostis на pisem.net.nospam

...The information is like the bank... 			  (c) EC8OR
----------- следующая часть -----------
--- a/src/compose.php.orig	2004-05-31 21:32:34.000000000 +0400
+++ a/src/compose.php	2004-11-15 01:21:27.000000000 +0300
@@ -757,7 +760,7 @@ function newMail ($mailbox='', $passed_i
               sqWordWrap($rewrap_body[$i], ($editor_size));
                 if (preg_match("/^(>+)/", $rewrap_body[$i], $matches)) {
                     $gt = $matches[1];
-                    $body .= '>' . str_replace("\n", "\n>$gt ", rtrim($rewrap_body[$i])) ."\n";
+                    $body .= '>' . str_replace("\n", "\n>> ", rtrim($rewrap_body[$i])) ."\n";
                 } else {
                     $body .= '> ' . str_replace("\n", "\n> ", rtrim($rewrap_body[$i])) . "\n";
                 }
----------- следующая часть -----------
--- a/src/compose.php.orig	2004-05-31 21:32:34.000000000 +0400
+++ a/src/compose.php	2004-11-15 01:21:27.000000000 +0300
@@ -609,6 +609,7 @@ function newMail ($mailbox='', $passed_i
         }
 
         $encoding = $message->header->encoding;
+	$charset = $message->header->getParameter('charset');
         $type0 = $message->type0;
         $type1 = $message->type1;
         foreach ($entities as $ent) {
@@ -629,7 +630,9 @@ function newMail ($mailbox='', $passed_i
                     $bodypart = $languages[$squirrelmail_language]['XTRA_CODE']('decode', $bodypart);
                 }
             }
+	    $bodypart = charset_decode($charset, $bodypart);
             $body .= $bodypart;
+
         }
         if ($default_use_priority) {
             $mailprio = substr($orig_header->priority,0,1);
@@ -1067,7 +1070,8 @@ function showInputForm ($session, $value
     }
     }
     else {
-       echo htmlspecialchars(decodeHeader($body,false,false));
+//       echo htmlspecialchars(decodeHeader($body,false,false));
+       echo decodeHeader($body,true,false);
     }
     echo '</textarea><br />' . "\n" .
          '      </td>' . "\n" .


Подробная информация о списке рассылки Sisyphus