Código PHP:
Ver original
echo $nombre."<br />";
$guardar ="INSERT INTO pruebasmall (nombre,apellido VALUES ('$nombre','$apellido')";
array('á', 'à', 'ä', 'â', 'ª', 'Á', 'À', 'Â', 'Ä'), array('a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A'), $nombre
);
echo $url."<br />";
$pg = mysql_query("UPDATE pruebasmall SET url = '$url' WHERE id = '$nuevaid'");
No hay ninguna razon para que no puedas aplicar la función a una variable que se ha llenado con el contenido llegado por POST.
Como el codigo que mandas no es completo... no se si puede haber algo que altere el resultado... las lineas que afectan a $nombre estan bien. A ver que dan los echo que te he añadido.