mm .. lo más lógico sería NO permitir esos caracteres .. es decir, no sustituir un caracter acentuado por su equivalente sin acento sino . .no permitirlo y en consecuencia que sea tu "usuario" el que modifique dicho dato.
En consecuencia la validación sería del tipo "sólo letras de A a la Z y numeros ...". Para eso te vendría bien usar expresiones regulares del tipo:
Código PHP:
if (!eregi("^[A-Z0-9]*",$cadena)){
echo "La cadena contiene caracteres no permitidos";
}
No sé si será correcta la expresión regular .. pero por ahí anda el tema.
Un saludo,