Muchas gracias, Tortuga73 por explicar aquí cómo lo solucionaste al final.
Llevo tres días peleándome para que lleguen bien los e-mails con los datos del formulario y no había forma. Pero aún probando lo que tú explicas tan bien, me daba fallos, ya no me salía cortada la información, pero sustituía las eñes y los símbolos por otras letras.
Al final, con tus consejos y googleando a tutiplén, he conseguido solucionarlo de la forma siguiente, por si a alguien le sirve:
Al principio del HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
(Lo de <form action="enviarmail.asp" method="post"> no lo he puesto en el html porque éste llamaba a un archivo asp que era el que contenía el formulario y en este último es en el que ya tenía una orden similar)
Al principio del asp que tiene las instrucciones para enviar un correo con los datos del formulario:
<%@ LANGUAGE="VBSCRIPT" %>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
(y a partir de aquí el formulario tal como lo tengáis y que debe empezar por <%)
Solo que además, en mi caso y para que funcione, he tenido que añadir en este asp lo siguiente: Mailer.CharSet=2. Y he tenido que añadirlo antes de la línea Mailer.Subject =.
Creo que en el ejemplo de Tortuga sería ponerlo antes de la línea myMail.Subject="usuario web" y poner myMail.CharSet=2.
Espero que os sirva.