Cambia la variable $año por si acaso no la coge bien... pon $anio o como prefieras.
Además, la has declarado al principio como
Código PHP:
$año=$_POST['año'];
Para luego llamarla en el insert
$año, quizás por eso no te lo pilla bien.
También en la consulta del insert:
Código PHP:
mysql_query("insert into noticias(caratula,nombre,año,servidor,detalles,enlaces)
VALUES ('$caratula','$nombre','$año','$servidor','$detalles','$enlaces'"",$connect)
or die("error insertando los datos " . mysql_error());
Según veo en la tabla el primer campo se llama "id" no "caratula", que además es autoincrement y un entero... Vamos, que te falta el campo caratula
Edito para decirte que en la consulta SQL debe ser además asi:
Código PHP:
mysql_query("insert into noticias(caratula,nombre,año,servidor,detalles,enlaces)
VALUES ('".$caratula."','".$nombre."','".$año."','".$servidor."','".$detalles."','".$enlaces."'",$connect)
or die("error insertando los datos " . mysql_error());
Las variables deben ir con ' " . $variable . " ' (lo he puesto con espacios para que se distingan las comillas).