Regresar a la página www.ComoCrearTuWeb.com
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 16

Tema: Problema con tildes en IE 11

  1. #1
    Me va gustando esto... Habitante
    Fecha de Ingreso
    19 sep, 12
    Mensajes
    157
    Poder de Reputación
    12

    Problema con tildes en IE 11

    Hola a todos! hice una paginación de registros con AJAX y PHP en google.chrome me funciona todo correctamente, el problema viene con IE que no identifica las tildes, en un principio en chrome también me daba error y lo solucioné colocando este código por encima del código PHP quedando tal que así:

    Código PHP:

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <?php
    require('conexion.php');
    $RegistrosAMostrar=10;

    //estos valores los recibo por GET
    if(isset($_GET['pag'])){
        
    $RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
        
    $PagAct=$_GET['pag'];
    //caso contrario los iniciamos
    }
    else{
        
    $RegistrosAEmpezar=0;
        
    $PagAct=1;
    }

    ...
    Al ponerlo de esta manera en chrome se solucionó pero no en IE 11.

    Otro problema surgido en IE es que no procesa bien el bucle de registros, en chrome perfectamente pero en IE cuando le doy a siguiente y anterior se desordena el código. Mi código Ajax y PHP es este:


    Ajax que hace el proceso de paginación
    Código PHP:
    function objetoAjax(){
        var 
    xmlhttp=false;
        try {
            
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (
    e) {
            try {
               
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (
    E) {
                
    xmlhttp false;
              }
        }

        if (!
    xmlhttp && typeof XMLHttpRequest!='undefined') {
            
    xmlhttp = new XMLHttpRequest();
        }
        return 
    xmlhttp;
    }

    function 
    Pagina(nropagina){
        
    //donde se mostrará los registros
        
    divContenido document.getElementById('globalvideo');
        
        
    ajax=objetoAjax();
        
    //uso del medoto GET
        //indicamos el archivo que realizará el proceso de paginar
        //junto con un valor que representa el nro de pagina
        
    ajax.open("GET""paginacion/paginador.php?pag="+nropagina);
        
    ajax.onreadystatechange=function() {
            if (
    ajax.readyState==4) {
                
    //mostrar resultados en esta capa
                
    divContenido.innerHTML ajax.responseText
            
    }
        }
        
    //como hacemos uso del metodo GET
        //colocamos null ya que enviamos 
        //el valor por la url ?pag=nropagina
        
    ajax.send(null)


    Código PHP que recoge los datos del servidor

    Código PHP:


    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <?php
    require('conexion.php');
    $RegistrosAMostrar=10;

    //estos valores los recibo por GET
    if(isset($_GET['pag'])){
        
    $RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
        
    $PagAct=$_GET['pag'];
    //caso contrario los iniciamos
    }
    else{
        
    $RegistrosAEmpezar=0;
        
    $PagAct=1;
    }


    $Resultado=mysql_query("SELECT * FROM ultimos_videos WHERE ultimos_videos.estado=1 ORDER BY ultimos_videos.id DESC LIMIT $RegistrosAEmpezar$RegistrosAMostrar",$con);
    $MostrarFila mysql_fetch_array($Resultado);

    //******--------determinar las páginas---------******//
    $NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM ultimos_videos",$con));

    $PagAnt=$PagAct-1;
    $PagSig=$PagAct+1;
    $PagUlt=$NroRegistros/$RegistrosAMostrar;

    //verificamos residuo para ver si llevará decimales
    $Res=$NroRegistros%$RegistrosAMostrar;
    // si hay residuo usamos funcion floor para que me
    // devuelva la parte entera, SIN REDONDEAR, y le sumamos
    // una unidad para obtener la ultima pagina
    if($Res>0$PagUlt=floor($PagUlt)+1;



    ?>






    <h1>Últimos videos</h1>


    <div id="botones">
    <?php 
    echo "<a onclick=\"Pagina('1')\">Primero</a> ";
    if(
    $PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\">Anterior</a> ";
    echo 
    "<strong>Página ".$PagAct."/".$PagUlt."</strong>";
    if(
    $PagAct<$PagUlt)  echo " <a onclick=\"Pagina('$PagSig')\">Siguiente</a> ";
    echo 
    "<a onclick=\"Pagina('$PagUlt')\"> Último</a>";
    ?>
    </div>

    <ul>
            <?php do { ?>
                
            <li><a href="<?php echo $MostrarFila['link'];?>"><img src="<?php echo $MostrarFila['img']; ?>" width="130px" height="130px" alt="<?php echo $MostrarFila['titulo']; ?>"></a>
              <ul>
                        
                <li><big>Vídeo:</big><b><?php echo $MostrarFila['titulo']; ?></b></li>
                            <li><big><?php echo $MostrarFila['canactriz']; ?>:</big><a href="<?php echo $MostrarFila['linkactriz']; ?>"><?php echo $MostrarFila['actriz']; ?></a><big><?php echo $MostrarFila['comas']; ?></big><a href="<?php echo $MostraFila['linkactrizdos']; ?>"><?php echo $MostrarFila['segundaactriz']; ?></a><big><?php echo $MostrarFila['comasdos']; ?></big><a href="<?php echo $MostrarFila['linkactriztres']; ?>"><?php echo $MostrarFila['terceraactriz']; ?></a><big><?php echo $MostrarFila['comastres']; ?></big><a href="<?php echo $MostrarFila['linkactrizcuatro']; ?>"><?php echo $MostrarFila['cuartaactriz']; ?></a><big><?php echo $MostrarFila['y']; ?></big><a href="<?php echo $MostrarFila['linkactrizcinco']; ?>"><?php echo $MostrarFila['quintaactriz']; ?></a></li>
                <li><big><?php echo $MostrarFila['canactor']; ?>:</big><p><?php echo $MostrarFila['ninguno']; ?></p><a href="<?php echo $MostrarFila['linkactor']; ?>"><?php echo $MostrarFila['actor']; ?></a><big><?php echo $MostrarFila['y']; ?></big><a href="<?php echo $MostrarFila['linkactordos']; ?>"><?php echo $MostrarFila['segundoactor']; ?></a></li>
                <li><big>Duración:</big><b><?php echo $MostrarFila['duracion'];?></b></li>
                <li><big>Fecha de publicación:</big><b><?php echo $MostrarFila['fecha'];?></b></li>
                    
                </ul>
              
            </li>
             <?php } while($MostrarFila=mysql_fetch_array($Resultado)); ?>
        
        </ul>

    Por favor, ayudarme con esto porque necesito solucionar el problema cuanto antes, saludos y gracias

  2. #2
    Me va gustando esto... Habitante Avatar de franciscogonzalez
    Fecha de Ingreso
    18 jun, 15
    Mensajes
    53
    Poder de Reputación
    8
    Estas usando la codificación iso-8859-1 te recomiendo que utilices UTF-8

    Cambia <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> por <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    Francisco Gonzalez
    Hosting Web + Registro de Dominios + Creador Web
    Hosting Profesional con soporte en España
    www.merkaweb.com

  3. #3
    Me va gustando esto... Habitante
    Fecha de Ingreso
    19 sep, 12
    Mensajes
    157
    Poder de Reputación
    12
    Si es que ya la he cambiado, además si pongo la meta utf-8 me da error tanto en chrome como en IE y con la ISO solo me da problemas en IE, no se como solucionarlo

  4. #4
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    21
    Hola!

    ¿Qué codificación tienes en tu base de datos? Estoy casi seguro de que tiene que ver con eso.

    Saludos!

  5. #5
    Me va gustando esto... Habitante
    Fecha de Ingreso
    19 sep, 12
    Mensajes
    157
    Poder de Reputación
    12
    Claro, yo también lo he pensado...lo que pasa que no se mirarlo, lo que si he hecho es cambiar el cotejamiento a la tabla, le puesto utf-8_spanish_ ci y también a las columnas...pero nada. Insisto que con la meta ISO en chrome se soluciona pero no en IE.

  6. #6
    Esto empieza a ser un vicio... Habitante Avatar de Doodleo
    Fecha de Ingreso
    25 abr, 11
    Ubicación
    Galicia (España)
    Mensajes
    1,329
    Poder de Reputación
    21
    Tienes que tener en todos lo mismo... si utilizas ISO, ponle también ISO a tu base de datos/tabla :)

  7. #7
    Me va gustando esto... Habitante
    Fecha de Ingreso
    19 sep, 12
    Mensajes
    157
    Poder de Reputación
    12
    Lo hice pero yo creo que el problema esta en el paginador, cuando le doy a siguiente y pasa por paginador.php y lo devuelve al Index es cuando no muestra las tildes, he estado probando en 5 navegadores y falla en Firefox y IE, en Chrome, Opera y Safari se ve correctamente colocando la meta ISO, la verdad que esto me tiene un poco mosqueado porque no se como solucionar el problema en IE y Firefox.

  8. #8
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Hola!

    El problema de las codificaciones no es nada simple, pues absolutamente todas las partes involucradas deben tener la misma codificación para que el navegador pueda interpretar los caracteres. Con todas las partes involucradas, me refiero a:

    * Archivos. Cada archivo debe tener la codificación especificada en la etiqueta meta o, en su defecto, a través de las cabeceras (header, en PHP). Asegúrate de que el programa con el que escribes los archivos tiene la misma codificación que la etiqueta meta (o convierte los caracteres a otra codificación).
    * Contenido. Cada símbolo (letra, número, etc.), y esto va de la mano con lo anterior, debe tener la misma codificación.
    * Scrits, Datos y base de datos. Lo mismo que lo anterior. Incluso lo que muestras a través de Javascript debe tener la codificación de la página.

    Piensa que todas las codificaciones tienen un significado distinto después del 127 (decimal), por lo que si en ASCII el 128 es á (no lo es, es sólo para ejemplificar), en UTF-8 es é y cuando el navegador no encuentra un símbolo en la codificación, simplemente lo reemplaza con otro conocido, y ahí es donde aparecen los símbolos raros.

    Para resolver tu problema, has que Javascript lea el contenido con la misma codificación que espera tu archivo HTML. También podrías hacer que los archivos PHP devuelvan todo con una codificación en particular (utf8_encode, por ejemplo).

    Por si acaso, algunos navegadores intentan adivinar la codificación, dependiendo de los símbolos encontrados en el documento, pero no todos :P.

    Espero que te sirva :).

    Saludos.
    Última edición por skaparate; 14/07/2015 a las 23:04

  9. #9
    Me va gustando esto... Habitante
    Fecha de Ingreso
    19 sep, 12
    Mensajes
    157
    Poder de Reputación
    12

    Codifiacion php

    Gracias por la contestación, el problema es que yo no se poner la codificación en archivos js he probado con poner un header en el archivo php:

    Código PHP:

    mb_http_output
    "iso-8859-1" );
    header"Content-Type: text/html; charset=".mb_http_output()); 
    Pero no funciona me sale este error:


    Warning: Cannot modify header information - headers already sent by (output started at /home/xxxnosta/public_html/index.php:42) in /home/xxxnosta/public_html/paginacion/paginador.php on line 4

    Alguien me ayuda con esto?

  10. #10
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    En los archivos .js, utiliza esto:

    Código:
    <script charset="utf-8" src="archivo.js"></script>
    Por si acaso, sólo funciona si existe el atributo src, pues de otra forma se utiliza la codificación del archivo HTML.

  11. #11
    Me va gustando esto... Habitante
    Fecha de Ingreso
    19 sep, 12
    Mensajes
    157
    Poder de Reputación
    12
    Ya he probado con eso y no funciona...

  12. #12
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    ¿Y el archivo también esta codificado en utf-8? Me refiero al texto del archivo, no los contenidos de las variables ingresadas por el usuario.

  13. #13
    Me va gustando esto... Habitante
    Fecha de Ingreso
    19 sep, 12
    Mensajes
    157
    Poder de Reputación
    12
    No se a que te refieres, arriba al principio en el primer mensaje puse como tenía el código. Es una paginación de registros usando ajax php html y css

  14. #14
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    25
    Me refiero al editor de código. Este también influye en cómo se muestran los contenidos del documento (html, js, css, etc.).

  15. #15
    Me va gustando esto... Habitante
    Fecha de Ingreso
    19 sep, 12
    Mensajes
    157
    Poder de Reputación
    12
    Yo utilizo html-kit

Página 1 de 2 12 ÚltimoÚltimo

Temas Similares

  1. Respuestas: 6
    Último Mensaje: 02/07/2013, 21:17
  2. problema con las tildes al subirla al servidor
    Por Liaranort en el foro Foro General
    Respuestas: 12
    Último Mensaje: 08/01/2011, 17:19
  3. Problema con tildes y ñ
    Por implicate en el foro Foro General
    Respuestas: 6
    Último Mensaje: 03/07/2008, 13:50

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •