[Tickets #14362] Re: ActiveSync: Problem with the encoding of email subjects

noreply at bugs.horde.org noreply at bugs.horde.org
Mon May 23 07:45:12 UTC 2016


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: https://bugs.horde.org/ticket/14362
------------------------------------------------------------------------------
  Ticket             | 14362
  Updated By         | alexander at areim.de
  Summary            | ActiveSync: Problem with the encoding of email subjects
  Queue              | Horde Framework Packages
  Type               | Bug
  State              | Feedback
  Priority           | 1. Low
  Milestone          |
  Patch              |
  Owners             | Michael Rubinsky
------------------------------------------------------------------------------


alexander at areim.de (2016-05-23 07:45) wrote:

>>> Very strange, as the subject is not related to any specific mime
>>> part, and it doesn't differ depending on text/plain vs text/html.
>>> Does the Subject: header in the raw email text look the same for both
>>> emails?
>>
>> Yes, it does.
>
> I have no idea what is causing this, and I can't reproduce it. As  
> mentioned, the subject text is handled outside of any code dealing  
> with the content-type of the body part. If the subject header and  
> charset are *exactly* the same in both emails, you are going to have  
> to figure out where this is failing for you, as I cannot reproduce.
>
> This is likely happening in Horde_ActiveSync_Utils::ensureUtf8(),  
> being called from  
> Horde_ActiveSync_Imap_MessageBodyData::_validateBodyData().

It seems that Iconv is broken in my case. I commented out the  
following code and my problems are solved:
File: Horde/String.php
Line: 147
->
         /* Try iconv with transliteration. */
         if (Horde_Util::extensionExists('iconv')) {
             unset($php_errormsg);
             ini_set('track_errors', 1);
             $out = @iconv($from, $to . '//TRANSLIT', $input);
             $errmsg = isset($php_errormsg);
             ini_restore('track_errors');
             if (!$errmsg && $out !== false) {
			echo "2";
                 return $out;
             }
         }
<-

I already tried to remove "//TRANSLIT" and tried to use "//IGNORE" but  
anythings fails.





More information about the bugs mailing list