Sinceramente ho notato la funziona htmlentities si impalla e non funziona se usi una codifica di caratteri diversa dalla codifica iso ....

Se usi stringhe utf-8 dovresti specificare alla funzione la differente codifica.

tipo
Codice PHP:
$str htmlentities$str ENT_NOQUOTES "UTF-8" ) ; 
cmq controlla bene la documentazione perche' e' sempre utile : http://www.php.net/manual/en/function.htmlentities.php

Se poi hai problemi con cartatteri utf-8 fai parecchia attenzione anche come i client inviano tali dati e come il server li gestisce.

Ho notato che ff e ie si comportano in maniera diametralmente opposta nell'invio di caratteri cinesi/giapponesi/russi.

FF tende a convertire tali caratteri in &#[numero]; mentre ie no
Queste differenze di codifica possono spesso far impazzire ... per fortuna c'e' js.