For issue #2, I found the following by printing the Ascii codes for each letter of the troubled words in the subject.

Taking for example the word: Académico

When it's being displayed properly, it's made up of the following codes:

65 - A
99 - c
97 - a
100 - d
195 - ?
169 - ?
109 - m
105 - i
99 - c
111 - o

When it's showing incorrectly, it's made up of:

65 - A
99 - c
97 - a
100 - d
233 - ?
109 - m
105 - i
99 - c
111 - o

I got these values by running the following code:

for ($x=0;$x<strlen($msg['subject']);$x++) {
print ord(substr($msg['subject'],$x,1))." - ".substr($msg['subject'],$x,1)."<br>";
        }
In one example the é is made from two codes ( 195/169 ) and displays properly while the second time around it's made from only one code ( 233 ) and shows the question mark.

What gives ?

Quoting [email protected]:

I'm still unsure as to what issue #1 is and it still remains but I did make headway with issue #2.

I tracked down the problem to Horde/Text.php in the function htmlSpaces(). More precisely, this line:

$charset = NLS::getCharset();

NLS::getCharset always returned UTF-8 even though my subject was encoded in ISO-8859-1. Further down, this line was effectively emptying out my subject line whenever $charset was set to UTF-8:

$text = @htmlspecialchars($text, ENT_COMPAT, $charset);

For now, I changed $charset = NLS::getCharset(); with $charset = NLS::getCharset(TRUE); which works because now the charset is returned as ISO-8859-1

Is this a limitation of the htmlspecialchars() function ?

However, I still have issue #1 present where it shows '?' instead of the actual character.

Quoting [email protected]:

I have two problems, not sure if they are a bug on my server or maybe a bug within IMP.

I am using the latest Horde Webmail distribution:

Horde: 3.3.8
IMP: 4.3.7
c-client library: 2007e
libiconv: 1.13.1
Dovecot IMAP: 1.2.10

Issue #1.

IMP can't display characters from a different charset in the subject and instead displays a ? instead of the character. In the body of the message the subject displays just fine.

I enabled the rawlog option in Dovecot to see the actual IMAP conversation between IMP and IMAP. When it just gets the message index, for that particular message I see:

* 4 FETCH (INTERNALDATE "11-May-2010 20:22:31 -0400" RFC822.SIZE 2357 FLAGS (\Seen) ENVELOPE ("Tue, 11 May 2010 17:53:34 -0600" {86}

IT-F01 Solicitud de acción de Infraestructura Tecnológica. Otro según detalle adjunto.

Which is perfectly fine. However, in Webmail I see the subject as being:
IT-F01 Solicitud de acci?n de Infraestructura Tecnol?gica. Otro seg?n detalle adjunto.


Issue #2.

IMP shows no subject line at all for messages that contain subjects defined encoded in ISO-8859-1. On the server the subject starts like this:

=?iso-8859-1?Q?FW:_

What could this be ?

Thank you!

--
IMP mailing list - Join the hunt: http://horde.org/bounties/#imp
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: [email protected]




--
IMP mailing list - Join the hunt: http://horde.org/bounties/#imp
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: [email protected]




--
IMP mailing list - Join the hunt: http://horde.org/bounties/#imp
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: [email protected]

Reply via email to