Pues bueno he probado tu ejemplo y realmente me pasa lo mismo pero la situación cambia si uso charset=iso-8859-1 como de esta forma:
Código PHP:
<?php header("Content-type: text/html; charset=charset=iso-8859-1"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo $titulo;?></title>
<link href="<?php echo $img."favicon.ico";?>" type="image/x-icon" rel="shortcut icon" />
</head>
<body>
<?php include('archivo2.php');?>
</body>
</html>
Código PHP:
ññÑÑÑ
éíóú
etc etc
y algunos datos mas sacados de mysql, con exactamente el mismo problema
De esta manera si funciona bien en tu caso usaría mejor la codificación iso y dejar de batallar con el problema