Solamente espero que alguien me pueda dar una explicación de por que sucede esto y de paso ayudar a quien tenga el mismo problema!
El problema se desarrolla así:
En mi trabajo estamos desarrollando un sitio en php y mysql, desde que comenzamos yo me encargué de que los archivos estuvieran correctamente codificados en utf 8 al ser guardados y además que en todos los archivos este la línea
Código:
Además tambien tenemos nuestra base de datos codificada en utf 8.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Hasta aquí todo marcha.
Luego de ya haber trabajado con una gran cantidad de archivos comienzan las diferencias; para empezar he tenido, en más de una ocación, que valerme de las funciones de PHP utf8_encode y utf8_decode, ya que el texto no se imprimía con normalidad, en algunas ocaciones era que el archivo que contenia ese texto no estaba guardado en utf8, pero en otras estaba correctamente guardado y aún así se imprimían mal los caracteres, pues bien, si alguien entiende porque puede pasar esto, agradezco una respuesta. Por otro lado mi problema ahora es otro, veamos la imagen siguiente:
En la imagen se puede ver claramente la diferencia, y la única diferencia, digamos "física" del archivo es la codificación con la que fue guardado, en la imagen 1 (la de la separación y los link dentro del body) el archivo fue guardado con codificación UTF 8 y en la imagen 2, el mismo archivo, fue guardado en ANSI, ambos ejemplos con el Bloc de Notas de Windows .
El hecho es que el archivo de la imagen 2, es el que está correcto, ya que los link a los css se deberían imprimir en el head y no en el body.
Bien, por aquí dejo esta cuestión, espero que quienes estén interesados en aportar información sobre este curioso fallo, por favor responda.
Dejo el código del archivo en cuestión:
Código:
<?php include ("../modulos/funciones.php"); // PARA PRUEBAS SIN MODIFICAR ORIGINAL include('./modulos/miguel.php'); // seguridad if(comprobarLog()) { $mostrarInfo = true; } else { $mostrarInfo = false; } unset($_SESSION['irA']); desplegarHead("miFiesta"); ?> <body> <div id="wrapper"> <div id="top"> <a href="/" id="logo"></a> </div> <div id="cuerpo"> <?php include("./modulos/fiestas.php"); include("../clases/cajas.php"); include("./modulos/funciones.php"); if($mostrarInfo) { menuFiesta('proveedor'); $mostrarForm = false; $error = false; if(isset($_GET['comentar']) && $_GET['comentar']) { $propImagen = 'src="imagenes/mi_fiestalia/titulos/comentar.png" alt="Comentar" title="Comentar" style="margin-left: 190px;"'; $mostrarForm = true; } else { if($_POST['sbt_guardar']) { if(!$_POST['hid_servicio'] || !$_POST['comentario']) { $propImagen = 'src="imagenes/mi_fiestalia/titulos/comentar.png" alt="Comentar" title="Comentar" style="margin-left: 190px;"'; $mostrarForm = true; $error = true; } } else { $propImagen = 'src="imagenes/mi_fiestalia/titulos/mis_comentarios.png" alt="Mis Comentarios" title="Mis Comentarios"'; } } ?> <div id="contenido"> <h1><img <?php echo $propImagen; ?> /></h1> <div class="vinculos_proveedores <?php echo ($mostrarForm) ? 'vinc_comentarios' : ''; ?>"> <ul> <li><a href="proveedores/favoritos/">Mis proveedores favoritos</a></li> <li><a href="proveedores/">Mis Proveedores</a></li> </ul> </div> <?php echo ($error) ? '<p class="msj_error"><strong>Error:</strong> Verifique los datos del formulario</p>' : ''; if(!$mostrarForm) { if($_GET['idProveedor']) { desplegarComentarios($_GET['idProveedor']); } else { desplegarComentarios(); } } else { if(!$_GET['idServicio'] && !$_POST['hid_servicio']) { $_GET['idServicio'] = NULL; } $idProv = ($_POST['hid_proveedor'])?$_POST['hid_proveedor']:$_GET['idProveedor']; $idServ = ($_POST['hid_servicio'])?$_POST['hid_servicio']:$_GET['idServicio']; desplegarFormCom($_SESSION['idUser'],$idProv,$idServ,$error); } ?> </div> <?php } else { echo '<div id="contenido">'; echo 'Sitio Restringido!'; echo '</div>'; header('Location: http://'.$_SERVER['SERVER_NAME'].'/loger/'); } ?> </div> <div id="pie"> <div id="borde_inferior"></div> </div> </div> </body> </html>