Foros del Web » Programando para Internet » PHP »

Particular error con Codificacion en PHP

Estas en el tema de Particular error con Codificacion en PHP en el foro de PHP en Foros del Web. Hola, tengo un error que aún no puedo terminar de entender, y para esto me voy a valer de una imagen que lo dice todo. ...
  #1 (permalink)  
Antiguo 02/09/2008, 06:34
 
Fecha de Ingreso: abril-2008
Ubicación: en Montevideo
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Pregunta Particular error con Codificacion en PHP

Hola, tengo un error que aún no puedo terminar de entender, y para esto me voy a valer de una imagen que lo dice todo.

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:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Además tambien tenemos nuestra base de datos codificada en 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>
  #2 (permalink)  
Antiguo 02/09/2008, 10:36
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Respuesta: Particular error con Codificacion en PHP

Tema cerrado por duplicado. Continúa en:
http://www.forosdelweb.com/f18/parti...on-php-620697/
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:36.