Custom html_encode to use UTF-8.

PHP 5.4 uses UTF-8 by default, but PHP 5.3 uses ISO-8859-1 so character
encoding is going wrong there. So replace htmlentities with a function
that uses the correct encoding.