Buon giorno.La funzione che posto di seguito, dovrebbe, convertire quei caratteri che incontra, al momento o, di operazioni verso db, nel momento di visualizzare a video testi estrapolati da db..
Purtroppo accade che, se incontra caratteri accentati come, la 'ò' o la 'ì', li converte sempre con "à".
Com'è possibile tutto ciò?
Codice PHP:
function convalida_w3c($valore)
  {
   
//per le normali conversioni in HTML e per togliere gli slash inseriti dalla fun. addslashes
   //$valore = stripslashes(htmlentities($valore));

   //per i caratteri accentati copincollati da word, outlook ecc
   
$valorestr_replace("a’""à"$valore);
   
$valorestr_replace("à""à"$valore);
   
$valorestr_replace("Ã""à"$valore);
   
$valorestr_replace("e’""è"$valore);
   
$valorestr_replace("è""è"$valore);
   
$valorestr_replace("é""é"$valore);
   
$valorestr_replace("i’""ì"$valore);
   
$valorestr_replace("ì""ì"$valore);
   
$valorestr_replace("ì""ì"$valore);
   
$valorestr_replace("o’""ò"$valore);
   
$valorestr_replace("ò""ò"$valore);
   
$valorestr_replace("u’""ù"$valore);
   
$valorestr_replace("ù""ù"$valore);
   
//per gli apici copincollati da word, outlook ecc
   
$valorestr_replace("’""'"$valore);
   
$valorestr_replace("‘""'"$valore);
   
//per le virgolette copincollate da word, outlook ecc
   
$valorestr_replace("“""""$valore);
   
$valorestr_replace("”""""$valore);
   
//per le altre cose
   
$valorestr_replace("–""-"$valore);
   
$valorestr_replace("–""-"$valore);
   
$valorestr_replace("…""..."$valore);
   
$valorestr_replace("……""......"$valore);
   
//per il simbolo euro
   
$valorestr_replace("€""€"$valore);
   
$valorestr_replace("°""°"$valore);
   
   return 
trim($valore);
  }


//conversione
INSERT INTO TBANNEW(campivalue(valori,
convalida_w3c(addslashes($txtTesto))

secondo voi dove sbaglio?
grazie mille.
buona giornata.