Hola amigos estoy teniendo unos problemas para la codificacion de la pagina
  
Si pongo el charset de la pagina en iso-8859-1 no se guardan los acentos y ñ en la base de datos.  
ARCHIVO 1   
Código PHP:
Ver original- <?php 
-       //recibo los campos enviados y los guardo a la base de datos 
-      // los datos con ñ y acentos no se guardan y truncan el contenido 
-      // los datos los escape con mysql_real_escape_string 
- ?> 
-   
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
-   
- <html xmlns="http://www.w3.org/1999/xhtml"> 
-     <head> 
-     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
-         <title>Titulo</title> 
-     </head> 
-     <body> 
-   
- <?php 
-       //  si envio campos los saco de la base de datos 
-       //  los pongo en la pagina y los escapo con [B]htmlentities[/B] 
-       //  los acentos y ñ no se recuperan por que no se guardaron en la base de datos 
- ?> 
-   
-              <form action="a la misma pagina" 
-              <campos de input.... /> 
-         </body> 
- </html> 
------------------------------------------------------------------------------------------
La otra si pongo el charset utf8 si los guarda pero me los dezplega mal en la pagina usando 
htmlentities  ARCHIVO 2   
Código PHP:
Ver original- <?php 
-       //recibo los campos enviados y los guardo a la base de datos 
-      // los datos con ñ y acentos SI se guardan correctamente 
-      // los datos los escape con mysql_real_escape_string 
-   
-      // EN este caso con utf8 de la pagina si hago un preg_match por ejemplo para verificar ciertos datos: 
-      if(!preg_match('/^[a-zA-ZñÑáÁéÉíÍóÓúÚ]+$/', $algun_campo_enviado)) 
-           //incorrecto 
-   
-      //siempre me da error si en el campo envio algun caracter acentuado o ñ como si en la expresion 
-      //regular no existiera ese permiso de introducir ese campo. 
- ?> 
-   
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
-   
- <html xmlns="http://www.w3.org/1999/xhtml"> 
-     <head> 
-     <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> 
-         <title>Titulo</title> 
-     </head> 
-     <body> 
-   
- <?php 
-       //  si envio campos los saco de la base de datos 
-       //  los pongo en la pagina y los escapo con [B]htmlentities[/B] 
-       //  los acentos y ñ el htmlentities los dezpliega como caracteres extraños 
-   
-       //  sin no uso htmlentities los acentos y ñ si se ponen correctamente pero  
-       //  pero si pongo un tag no terminado por ejemplo en el campo enviado y guardado en la BD 
-       //  pasa lo obvio se corta el html lo que podria producir errores o bueno ya saben. 
- ?> 
-   
-              <form action="a la misma pagina" 
-              <campos de input.... /> 
-         </body> 
- </html> 
Por ultimo el COTEJAMIENTo que estoy usando en la base de datos y las tablas es 
utf8_unicode_ci  
Me podrian ayudar a resolver esas dudas, como por que la ñ no me la acepta la expresion regular
o no me guarda correctamente las ñ, o al dezplegarlas usando htmlentities. 
GRacias a todos por sus respuestas.