Thunderbird does not correctly render UTF-8 entities in html message body
We mail out publication notices to subscribers. The Titles and Highlights come from a MySQL DB that stores text extracted from Adobe InDesign or PDFs which include typographer's punctuation and may also contain HTML tags added for display on the website.
All data is stored, encoded, retrieved and displayed as UTF-8 using PHP and PHP mailer on Win platform. Other common Email clients tested, including Outlook, display the message content correctly. T-Bird (current) displays error characters for all entities in html view yet the message source correctly reads all charaters in accordance with UTF-8. We have tried every imaginable method from binhex to literal string replacement in regex and an array of PHP functions. Nothing works. The source is correct, the rendering is not. It would appear that T-bird is broken. Does anyone have a clue?
All Replies (4)
We have found a workaround for this problem. It appears that the message pane in T-bird cannot render hexidecimal HTML entity names, at least those in UTF-8 form. We have reverted to the known set of classic alpha based entity names. These appear to render correctly in T-bird. However, while this meets our current needs it is only a partial solution as it provides no recource for messages containin UTF-8 or -16 encoded glyphs as hexidecimal entities. So, greek symbols, math symbols and other glyphs could be a problem.
Did you look in Bugzilla? It does not sound like some sort of new thing, but more like a long term issue.
Is the mailserver reverting to 7bit encodings?
No, did not look at Bugzilla. Have seen this question asked before. We did a series of tests to narrow down the source of the problem. It does not occur in other mail readers like Outlook or Android mail and it appears that the T-bird message source is correctly identifying the HTML entities. Unfortunately, the Message Panel can only render the orginal limited set of HTML alpha named entities but not hexidecimal named unicode entities. Sure looks like a bug in T-bird to me.
Check the set up in this location:
- Settings > General
- scroll down to 'Language & Appearance'
- 'Fonts & Colours'
- Click on 'Advanced'
- Fonts for : Latin
- Set up preferred Font Size for Proportional and monospace and Minimum Font Size.
But make sure the minimum is less than the others Or at the very least the same. It forces and small font to appear larger. Make a note of everything you have set... The above sets up for western encoding.
Now to set up unicode encoding... select 'Fonts for: and choose 'Other Writing Systems' - it's at the bottom of the list. Set up exactly the same as you set up for Latin and click on 'OK.
Then click on 'Advanced' again and reset 'Font for' = 'Latin'
Then create and send email and test.