Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549

    ie7 ajax e caratteri accentati

    il problema ormai è un classico. i caratteri accentati con php e mysql.
    ho quasi risolto con il meta
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    e con il codice header("Content-type: text/html; charset=ISO-8859-1") inserito nella pagina interrogata da ajax e che preleva i dati dal db. tutto bene con ff opera e safari. ie7 invece continua a restituirmi caratteri strani al posto di quelli accentati.

    sapete come risolvere?

    mille grazie
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  2. #2

  3. #3
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549
    buona idea...

    Codice PHP:
    function prelevaDati(data)
    {
        var 
    ele=document.getElementById("testoEvento");
        var 
    percorso=(window.location.protocol "//" window.location.host window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")) + "/db/prelevaDati.php?data=" data);
        var 
    oggetto=creaOggettoXMLHttp();
        
    oggetto.open("get"percorso true);
        
    oggetto.onreadystatechange=function()
        {
            if (
    oggetto.readyState==4)
            {
                
                if (
    oggetto.status==200)
                {
                    
                    
    ele.innerHTML=oggetto.responseText;
                }
                else
                {
                    
    ele.innerHTML="Errore durante il collegamento al database; per ora non è possibile visualizzare eventi. Riprovare in un secondo momento, grazie.
    Risposta del server: " 
    oggetto.responseText;
                }
            }
        }
        
    oggetto.send(null);
    }

    function 
    creaOggettoXMLHttp()
    {
        
        if (
    typeof XMLHttpRequest != "undefined")
        {
            return new 
    XMLHttpRequest();
        }
        else 
        {
        
            var 
    versioni = [ "MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"]; 
            
            for (var 
    i=0i<versioni.lengthi++)
            {
                try
                {
                    var 
    oggetto=new ActiveXObject(versioni[i]);
                    return 
    oggetto;            
                }
                catch(
    errore)
                {
                    
    //evito che l'errore blocchi la ricerca dell'oggetto giusto
                
    }
            }
            
        }
        throw new 
    Error("La libreria MSXML non è installata");

    Codice PHP:
    <?php
    header
    ("Content-type: text/html; charset=ISO-8859-1");

    $db_host="localhost";
    $db_name="calendario";
    $utente="root";
    $pass="19burmashave80";

    $db mysql_connect($db_host,$utente,$pass);

    if (
    $db == FALSE)
    die (
    "Errore nella connessione al db. Riprovare in un secondo momento");


    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Riprovare in un secondo momento");

    $data=$_GET["data"];

    $query "SELECT id, DATE_FORMAT(data_ini,'%d-%m-%Y') AS inizio, DATE_FORMAT(data_fin,'%d-%m-%Y') AS fine, DATE_FORMAT(data_ini,'%H:%i') AS ore, titolo, descrizione from eventi where UNIX_TIMESTAMP(DATE_FORMAT(data_ini,'%Y-%m-%d'))<=UNIX_TIMESTAMP(DATE_FORMAT('$data','%Y-%m-%d')) AND UNIX_TIMESTAMP(DATE_FORMAT(data_fin,'%Y-%m-%d'))>=UNIX_TIMESTAMP(DATE_FORMAT('$data','%Y-%m-%d'))";

    if(!
    $risultati=@mysql_query($query)) die ('errore');
    if (
    $insieme=mysql_num_rows($risultati)<1)

        echo 
    "Nessun elemento per il giorno selezionato.";
    }
    else
    {
        while(
    $riga=mysql_fetch_array($risultati,MYSQL_ASSOC))
        {
            if (
    $riga["inizio"]==$riga["fine"]) $strdata="[b]".$riga["inizio"]."[/b]";
            else 
    $strdata="dal [b]".$riga["inizio"]."[/b] al [b]".$riga["fine"]."[/b]";
            if (
    $riga["ore"]=="00:00"$ore="";
            else 
    $ore="[Ore ".$riga["ore"]."]
    "
    ;
            
            
    $testo.=$strdata."
    "
    ;
            
    $testo.=$ore."<b style=\"text-decoration:underline;\">".$riga["titolo"]." [/b]
     "
    .$riga["descrizione"].".<div class=\"br\"></div>";
        }
        echo 
    $testo;
    }

    mysql_close($db);
    ?>
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  4. #4
    Prima di tutto ti consiglio di modificare il post cancellando i dati del tuo DB =).. per il resto... il problema qual'è???? la visualizzazione dei dati che ti ritornano??

  5. #5
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549
    dio mio che rincoglionito che sono.....
    ora posto anche quelli della postepay....

    il problema si presenta solo con ie. quando ritorno i dati e li inserisco nel ele.innerHTML questi si presentano con al posto dei caratteri accentati dei simboli strani
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  6. #6
    Non so cosa possa essere, ma potresti provare a usare la codifica UTF 8, forse risolvi

    Che il problema dipenda da javascript ho qualche dubbio, dovresti vedere cosa effettivamente ti restituisce il responseText con un alert.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.