Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560

    problema caratteri accentati php mysql

    Ciao, se richiamo il campo semplicemente così:

    Codice PHP:
    $query_co = "select * from comuni where id = " . $row_p['city']; 
    //echo $query_c;
    $co = mysql_query($query_co,$myconn) or die(mysql_error());
    $row_co = mysql_fetch_assoc($co);

    <? echo $row_co['comune']; ?>
    il nome della città si visualizza correttamente "Agliè"

    se richiamato da una select:

    Codice PHP:
    <select id="city" name="city">
    <
    option value="" selected="selected">Tutti i Comuni</option>
    </
    select
    a video mi visualizza così(vedi immagine):



    come mai?

    nel db è impostato latin1 e nel campo testo lo leggo correttamente.

  2. #2
    Probabilmente il problema è nell'html: prova a passare la stringa con la funzione htmlspecialchars, in questo modo:
    $stringa = htmlspecialchars($stringa).

  3. #3
    Hai impostato il charset utf-8 alla pagina?

  4. #4
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    ciao quit10, scusami dove inserisco la stringa $stringa = htmlspecialchars($stringa)?

    le select sono queste:

    Codice PHP:
    <select id="state" name="state" onchange="selProvCom(this.value);" style="width:217px" class="required">
    <option value="" selected="selected">Seleziona Regione</option>
    <?php
    // Collegamento ad database. 
    include("dbconfig.php");

    // Query selezione tutte le regioni. 
    $sql "select * from regioni order by regione"

    // Eseguo la query. 
    $result mysql_query($sql$conn); 
    while(
    $region mysql_fetch_array($result)) {
    ?>
    <option value="<?php echo $region['id']; ?>"><?php echo $region['regione']; ?></option>
    <?php
    }
    ?>
    </select>

    Provincia:
    <select id="province" name="province" onchange="selCom(this.value);" style="width:217px" class="required">
    <option value="" selected="selected">Seleziona Provincia</option>
    <?php

    // Query selezione tutte le province. 
    $sql "select * from province order by provincia"

    // Eseguo la query. 
    $result mysql_query($sql$conn); 
    while(
    $province mysql_fetch_array($result)) {
    ?>
    <option value="<?php echo $province['id']; ?>"><?php echo $province['provincia']; ?></option>
    <?php
    }
    ?>
    </select>

    Città:
    <select id="city" name="city" style="width:217px">
    <option value="" selected="selected">Tutti i Comuni</option>
    </select>
    le funzioni javascript sono queste:

    codice:
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    // Select Province e Comuni dalla Regione. 
    function selProvCom(idRegion) {
      // Seleziono province di questa regione. 
      $.get("select_abitativa.php", { regionid: idRegion, requestItems: 'province'}, 
      function(dataProvince){
        $("select[id='province']").empty();
        var options = '<option value="">Seleziona Provincia</option>';
        var arrayProvince = dataProvince.split( '||');
        for (var i = 1; i < arrayProvince.length; i++) {
          var provincia = arrayProvince[i].split( /,/);
          options += '<option value="' + provincia[0] + '">' + provincia[1] + '</option>';
        }
        $("select[id='province']").html(options);
      });
      // Seleziono comuni di questa regione. 
      $.get("select_abitativa.php", { regionid: idRegion, requestItems: 'comuni'}, 
      function(dataComuni){
        $("select[id='city']").empty();
        var options = '<option value="">Tutti i Comuni</option>';
        var arrayComuni = dataComuni.split( '||');
        for (var i = 1; i < arrayComuni.length; i++) {
          var comune = arrayComuni[i].split( /,/);
          options += '<option value="' + comune[0] + '">' + comune[1] + '</option>';
        }
        $("select[id='city']").html(options);
      });
    }
    
    // Select Comuni dalla Provincia. 
    function selCom(idProvincia) {
      // Seleziono comuni di questa provincia. 
      $.get("select_abitativa.php", { provinciaid: idProvincia, requestItems: 'comuni'}, 
      function(dataComuni){
        $("select[id='city']").empty();
        var options = '<option value="">Tutti i Comuni</option>';
        var arrayComuni = dataComuni.split( '||');
        for (var i = 1; i < arrayComuni.length; i++) {
          var comune = arrayComuni[i].split( /,/);
          options += '<option value="' + comune[0] + '">' + comune[1] + '</option>';
        }
        $("select[id='city']").html(options);
      });
    }
    </script>
    e

    pagina select_abitativa.php:

    Codice PHP:
    <?php
    // Seleziona Province e Comuni. 
    include("dbconfig.php");

    if (isset(
    $_GET['regionid']) and is_numeric($_GET['regionid'])) {
      if (isset(
    $_GET['requestItems']) and $_GET['requestItems']==='province') {
        
    $regionID intval($_GET['regionid']);
        
    $query = <<<EOQ
    SELECT * 
    FROM province 
    WHERE id_regione = '
    $regionID
    ORDER BY provincia
    EOQ;
        
    $result mysql_query($query$conn);
        
    $returnProvince '';
        while (
    $row mysql_fetch_array($result)) {
          
    $returnProvince .= "||".$row['id'].",".$row['provincia'];
        }
        
    print_r($returnProvince);
      } 
      else if (isset(
    $_GET['requestItems']) and $_GET['requestItems']==='comuni') {
        
    $regionID intval($_GET['regionid']);
        
    $query = <<<EOQ
    SELECT * 
    FROM comuni 
    WHERE id_regione = '
    $regionID
    ORDER BY comune
    EOQ;
        
    $result mysql_query($query$conn);
        
    $returnComuni '';
        while (
    $row mysql_fetch_array($result)) {
          
    $returnComuni .= "||".$row['id'].",".$row['comune'];
        }
        
    print_r($returnComuni);
      }

    else if (isset(
    $_GET['provinciaid']) and is_numeric($_GET['provinciaid'])) {
      if (isset(
    $_GET['requestItems']) and $_GET['requestItems']==='comuni') {
        
    $provinciaID intval($_GET['provinciaid']);
        
    $query = <<<EOQ
    SELECT * 
    FROM comuni 
    WHERE id_provincia = '
    $provinciaID
    ORDER BY comune
    EOQ;
        
    $result mysql_query($query$conn);
        
    $returnComuni '';
        while (
    $row mysql_fetch_array($result)) {
          
    $returnComuni .= "||".$row['id'].",".$row['comune'];
        }
        
    print_r($returnComuni);
      }
    }
    ?>
    il charset è <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    se lo imposto utf-8 non risolvo.

  5. #5
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    scusatemi dove inserisco la stringa: $stringa = htmlspecialchars($stringa)?

    grazie

  6. #6
    nel primo file che hai postato prova a sostituire questo

    <option value="<?php echo $region['id']; ?>"><?php echo $region['regione']; ?></option>

    con questo

    <option value="<?php echo $region['id']; ?>"><?php echo htmlspecialchars($region['regione']); ?></option>

  7. #7
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    non funziona, credo che non devo inserire il codice nella select regioni, devo inserirla nei comuni perchè è li che ho il problema della visualizzazione lettere accentate:

    codice:
    <select id="city" name="city" style="width:217px">
    <option value="" selected="selected">Tutti i Comuni</option>
    </select>

    ma dove inserisco la stringa htmlspecialchars?

  8. #8
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    secondo me la stringa: $stringa = htmlspecialchars($stringa)

    va qui nella funzione javascript:
    codice:
    options += '<option value="' + comune[0] + '">' + comune[1] + '</option>';
    esattamente qui: ' + comune[1] + '

    ma come la inserisco?

  9. #9
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    Sto impazzendo

    sto provando in tutti i modi, ho provato così:

    Codice PHP:
    <select id="state" name="state" onchange="selProvCom(this.value);" style="width:217px" class="required">
    <option value="" selected="selected">Seleziona Regione</option>
    <?php
    // Collegamento ad database. 
    include("dbconfig.php");

    // Query selezione tutte le regioni. 
    $sql "select * from regioni order by regione"

    // Eseguo la query. 
    $result mysql_query($sql$conn); 
    while(
    $region mysql_fetch_array($result)) {
    ?>
    <option value="<?php echo $region['id']; ?>"><?php echo htmlentities($region['regione']); ?></option>
    <?php
    }
    ?>
    </select>

    Provincia:
    <select id="province" name="province" onchange="selCom(this.value);" style="width:217px" class="required">
    <option value="" selected="selected">Seleziona Provincia</option>
    <?php

    // Query selezione tutte le province. 
    $sql "select * from province order by provincia"

    // Eseguo la query. 
    $result mysql_query($sql$conn); 
    while(
    $province mysql_fetch_array($result)) {
    ?>
    <option value="<?php echo $province['id']; ?>"><?php echo htmlentities($province['provincia']); ?></option>
    <?php
    }
    ?>
    </select>

    Città:
    <select id="city" name="city" style="width:217px">
    <option value="" selected="selected">Tutti i Comuni</option>
    </select>

    <?php echo htmlentities($region['regione']); ?> o <?php echo htmlspecialchars($region['regione']); ?> nell'option

    e

    Codice PHP:
    <?php
    // Seleziona Province e Comuni. 
    include("dbconfig.php");

    if (isset(
    $_GET['regionid']) and is_numeric($_GET['regionid'])) {
      if (isset(
    $_GET['requestItems']) and $_GET['requestItems']==='province') {
        
    $regionID intval($_GET['regionid']);
        
    $query = <<<EOQ
    SELECT * 
    FROM province 
    WHERE id_regione = '
    $regionID
    ORDER BY provincia
    EOQ;
        
    $result mysql_query($query$conn);
        
    $returnProvince '';
        while (
    $row mysql_fetch_array($result)) {
          
    $returnProvince .= "||".$row['id'].",".$row['provincia'];
        }
        
    print_r(html_entity_decode($returnProvince));
      } 
      else if (isset(
    $_GET['requestItems']) and $_GET['requestItems']==='comuni') {
        
    $regionID intval($_GET['regionid']);
        
    $query = <<<EOQ
    SELECT * 
    FROM comuni 
    WHERE id_regione = '
    $regionID
    ORDER BY comune
    EOQ;
        
    $result mysql_query($query$conn);
        
    $returnComuni '';
        while (
    $row mysql_fetch_array($result)) {
          
    $returnComuni .= "||".$row['id'].",".$row['comune'];
        }
        
    print_r(html_entity_decode($returnComuni));
      }

    else if (isset(
    $_GET['provinciaid']) and is_numeric($_GET['provinciaid'])) {
      if (isset(
    $_GET['requestItems']) and $_GET['requestItems']==='comuni') {
        
    $provinciaID intval($_GET['provinciaid']);
        
    $query = <<<EOQ
    SELECT * 
    FROM comuni 
    WHERE id_provincia = '
    $provinciaID
    ORDER BY comune
    EOQ;
        
    $result mysql_query($query$conn);
        
    $returnComuni '';
        while (
    $row mysql_fetch_array($result)) {
          
    $returnComuni .= "||".$row['id'].",".$row['comune'];
        }
        echo(
    html_entity_decode($returnComuni));
      }
    }
    ?>
    print_r(html_entity_decode($returnProvince));
    print_r(html_entity_decode($returnComuni));
    echo(html_entity_decode($returnComuni));

    ma non cambia nulla, ho provato anche a impostare la codifica della pagina a UTF-8 ma nulla.

    cos'è che non va, qualcosa nel database mysql?

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.