Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    46

    Ajax e caratteri speciali

    Salve,
    sto utilizzando Ajax per le prime volte, ho una pagina dove ho la chiamata ajax,
    chiamo una pagina php che preleva dati da un database e forma una tabella.
    Tutto funziona tranne che il carattere dell'euro non me lo visualizza bene, sulla pagina php si vede correttamente sulla pagina dove la richiamo con ajax mi mette un quadratino bianco.
    Ho provato con htmlentities come si può vedere ma niente. Non so come ajax gestisce i dati che trasferisce.
    Pagina html:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>parknet</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
    function chiamaAjax()
    {
    	var xmlhttp;
    	if (window.XMLHttpRequest)
    	   {
    		   // codice valido per IE7 e succ., Firefox, Chrome, Opera, Safari
    		   xmlhttp=new XMLHttpRequest();
    	   }
    	else if (window.ActiveXObject)
    	   {
    		   // codice valido per IE6 e IE5
    		   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    	   }
    	else
    	   {
    		   alert("Il browser non supporta XMLHTTP");
    	   }
    	   
    	xmlhttp.onreadystatechange=function()
    	{
    		if(xmlhttp.readyState==4)
    		   {
    			   document.getElementById('tabella_park').innerHTML=xmlhttp.responseText;
    		   }
    	}
    	//myRequest.open("GET","primo.php&rand="+escape(Math.random()));
    	xmlhttp.open("GET","tabella_park.php?rand="+escape(Math.random()),true);
    	xmlhttp.send(null);
    }
    
    function Start() {
    	chiamaAjax();
    	setTimeout("Start()", 10000)
    }
    Start();
    </script>
    </head>
    <body>
    <div id="tabella_park"></div>
    </body>
    </html>
    pagina php
    codice:
    <?php
    session_start();
    require("connessione_database.php");
    
    $risultato1 = mysql_query ("SELECT * FROM parknet WHERE gestore='00001'");
    $righe1 = mysql_num_rows($risultato1);
    
    //TABELLA SCAF
    ?>
    
    <table width="980" border="0" align="center">
      <?php 
      if ($righe1 > 0) { 
    	for ($i=0; $i<$righe1; $i++){
    		$riga1 = mysql_fetch_row($risultato1);
      
      ?>
      <tr style="cursor: hand" onClick="openpopup('<?php echo $riga1[1];?>')"> 
        <td width="130"><font face="calibri"><?php echo "$riga1[1]";?></font></td>
        <td width="200"><pre><?php echo "$riga1[2]";?></pre></td>
        <td><div align="center"><font face="calibri"><?php if ($riga1[14]=="X"){echo "";} else {echo htmlentities($riga1[8], ENT_QUOTES);}//"$riga[8]";}?>
        </font></div></td>
        <td><div align="center"><font face="calibri"><?php
    	
    	//posti auto liberi
    	if ($riga1[14]=="X"){
    	 	echo "";
    	} 
    	else {
    		if ($riga1[6] >= $riga1[7]){
    			echo "$riga1[7]";
    		}
    		else {
    			echo "$riga1[6]";
    		}
    	}
    	
    	?></font></div></td>
        <td><div align="center"><font face="calibri"><?php 
    	
    	echo "$riga1[7]";
    	
    	?></font></div></td>
        <td><div align="center"><font face="calibri"><?php 
    	
    	if ($riga1[14]=="X"){
    		echo "";
    	} 
    	else {
    	//echo "$riga1[7]-$riga1[6]";
    		if ($riga1[6] >= $riga1[7]){
    			$perc1 = 0;
    		}
    		else {
    		//echo "$riga1[7]-$riga1[6]";
    			$perc1 = (int)((100*($riga1[7]-$riga1[6]))/($riga[7]));
    		}
    		echo "$perc1 %";
    	}
    	
    	?></font></div></td>
    	<?php 
    	if ($riga1[14]=="X"){
    		?><td width="150" bgcolor="#FF0000"><div align="center"><font face="calibri">OFFLINE</font></div></td><?php
    	} 
    	else {
    		if ($_SESSION['agg_old'][$riga1[0]] != $riga1[12]){ 
    			?>
    			<td bgcolor="#33CC00"><div align="center"><font face="calibri">
    		<?php 
    			$aggiornamento1 = substr($riga1[12], 11, 2).":".substr($riga1[12], 14, 2)." ".substr($riga1[12], 8, 2)."/".substr($riga1[12], 5, 2)."/".substr($riga1[12], 0, 4);
    			echo "$aggiornamento1";
    			?></font></div></td>
    			<?php 
    		}
    		else{
    			?>
    			<td><div align="center"><font face="calibri">
    			<?php 
    			$aggiornamento1 = substr($riga1[12], 11, 2).":".substr($riga1[12], 14, 2)." ".substr($riga1[12], 8, 2)."/".substr($riga1[12], 5, 2)."/".substr($riga1[12], 0, 4);
    			echo "$aggiornamento1";
    			?></font></div></td>
    			<?php 
    		}
    		$_SESSION['agg_old'][$riga1[0]] = $riga1[12];
    	}
    	?>
      </tr>
      <?php
      	}
      }
       ?>
    </table>
    <?php 
    
    mysql_free_result($risultato1);
    ?>

  2. #2
    Potrebbe non dipendere solo dal charset, ma proviamo...

    Sostituisci questo
    codice:
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    con questo
    codice:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    Michele
    King Of The Kill

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Leggi anche questo articolo
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    46
    Originariamente inviato da KingOfTheKill
    Potrebbe non dipendere solo dal charset, ma proviamo...

    Sostituisci questo
    codice:
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    con questo
    codice:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    Non va, sempre uguale

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    46
    Originariamente inviato da cavicchiandrea
    Leggi anche questo articolo
    le ho provate tutte ma non va, continua a non visualizzarli
    non so più come fare

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Hai anche provato con inserendo nella tabella il carattere € in formato ASCII &-e-u-r-o-; (senza trattini) e passare quello ad ajax.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    46
    Era tutta la mattina che provavo, ho risolto mettendo
    mysql_set_charset('utf8');
    appena dopo la connessione col database!
    Ajax utilizza utf8 e quindi, nella pagina richiamata, i dati dovevano già essere in questa codifica.
    Anche se aprendo la pagina richiamata mi si visualizzano correttamente però non erano in utf8.
    Grazie!!

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.