E' corretto applicare htmlentities() ai dati in entrata nel dabase pur utilizzando con charset latin1?

In particolare la funzione per filtrare le mie stringhe coinvolte nelle query è la seguente:
Codice PHP:
function filtro_db($stringa)
    {
    
$stringa trim ($stringa);
    if(empty(
$stringa))
        {
        return 
FALSE;
        }
    else if(
get_magic_quotes_gpc())
        {
        
stripslashes($stringa);
        }
    return 
mysql_real_escape_string(htmlentities($stringa));
    } 
In pratica la mia intenzione è quello di creare una funzione filtro che sia compatibile con qualsiasi charset adotti il db.
Sbaglio qualcosa? è errato filtrare le stringhe in entrata in questo modo?