será que é o charset?
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
tente colocar isso entre <head> e </head> das páginas
se não ser tente charset=utf-8
Verifique se eles foram setados e diferentes de vazio com isset (www.php.net/isset) e empty (www.php.net/empty). Se for o caso, avise ao usuário para preencher os campos necessários. Uma melhor solução seria utilizar também javascript para validar o formulário, mas isso foge do escopo desse fórum.