thomascube
2011-10-18 dfc79b341c4ae80fe3bae0c52cadee7c28a108fd
Find charset in HTML meta tags if not specified in content-type header (#1488125)

1 files modified
6 ■■■■ changed files
program/include/rcube_imap.php 6 ●●●● patch | view | raw | blame | history
program/include/rcube_imap.php
@@ -2396,7 +2396,11 @@
           if (!$skip_charset_conv) {
                if (!$o_part->charset || strtoupper($o_part->charset) == 'US-ASCII') {
                    $o_part->charset = $this->default_charset;
                    // try to extract charset information from HTML meta tag (#1488125)
                    if ($o_part->ctype_secondary == 'html' && preg_match('/<meta[^>]+charset=([a-z0-9-]+)/i', $body, $m))
                        $o_part->charset = strtoupper($m[1]);
                    else
                        $o_part->charset = $this->default_charset;
                }
                $body = rcube_charset_convert($body, $o_part->charset);
            }