Eso es porque las web usan el juego de caracteres UTF-8 y este no soporta acentos ni Ñ.
Tenes que usar utf8_encode() cuando recuperas el contenido de los input text
Ej:
SI en cambio, tuvieras una web tuya con ese problema, tenes que cambiar el juego de caracteres que usas.
Y para que muestre directamente acentos y ñ tenes que usar ISO-8859-1
En el head de la web
Código HTML:
Ver original<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
En vez de UTF-8
Código HTML:
Ver original<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Pero como vos envías los datos por email y las web de clientes mails están en UTF-8, la solución es codificarlos.
La funcion utf8_encode() transforma:
árbol -> árbol
ñandú -> ñandú