Thanks Jan, it's much clearer now. My knowledge about character encodings has multiplied 100-fold in the last 24 hours' research.

Would it be a good idea for the PHP Manual to address some of these issues, by explaining good practice in encoding arbitrary user input in forms (for example), for the benefit of those, like me, for whom character sets are a bit of a black art?

Also I still cannot persuade get_html_translation_table to list those non-Latin1 entities. This is not an important issue, since it appears to be only an information function, but it would be nice if it were consistent with htmlentities and html_entity_decode.


From Jan G.B. 13/03/2009 17:27:
2009/3/13 Heddon's Gate Hotel <>:
The string function htmlentities seems to have very incomplete coverage of
the HTML entities listed in the HTML 4 spec.  For example, it does not know
about rsquo, lsquo, rdquo, ldquo, etc.  This is confirmed by looking at the
output of get_html_translation_table, which does not list these entities.

My impression is that it covers those HTML entities that are in ISO-8859-1,
but not the others.  Is this deliberate?  If so, the Manual is misleading
because it suggests that all HTML entities are covered. Otherwise, is this a

Well, If you specify the input charset you'll have no problem at all. ;)

<?= htmlentities('string with UTF-8: ±ªÐº×N>>µ»n“¢µ€jæ', ENT_QUOTES,
'UTF-8'); ?>

Latin1 AKA ISO-8859-1 doesn't have ldquo nor bdquo nor ndash and alike.


PHP General Mailing List (
To unsubscribe, visit:

Reply via email to