Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Codifica caratteri speciali estrapolati da una select

    Ciao a tutti,
    ho un problema che mi sta facendo impazzire e che ormai, dopo aver fatto ricerce sul web, non ne vengo più a capo.

    In pratica ho un database MYSQL in cui ho creato una tabella "ARTICOLI" deve vengono memorizzati alcuni campi come il titolo e la descrizione.

    Il problema si verifica quando estraggo i dati con una query e li vado a stampare, infatti i caratteri speciali (esempio: è à ù ecc) non vengono codificati correttamente.

    Di seguito vi posto l'esempio di docide utilizzato.

    Codice PHP:
    <!DOCTYPE html>
    <
    html>

    <
    head>

        <
    meta charset="utf-8">
        
        <
    meta name="viewport" content="width=device-width, initial-scale=1.0">

        <
    title>titolo pagina</title>

    </
    head>
    <
    body>


    // parte relativa alla connessione al DB
    //-----------------

    $Q_articoli_elenco  "SELECT * FROM acac_articoli";
    $R_articoli_elenco  mysql_query($Q_articoli_elenco$db);

    while (
    $row_articoli mysql_fetch_array($R_articoli_elenco))        
    {
    echo 
    $row_articoli['titolo_articolo'].'<br>';
    }

       
    </
    body>
    </
    html


    Di seguito la struttura della tabella MYSQL


    codice:
    --
    -- Struttura della tabella `acac_articoli`
    --
    
    CREATE TABLE IF NOT EXISTS `acac_articoli` (
      `id_articolo` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `tipo_articolo` int(2) NOT NULL DEFAULT '0',
      `cat_articolo` int(2) NOT NULL DEFAULT '0',
      `alias_articolo` varchar(200) DEFAULT NULL,
      `image_articolo` varchar(250) DEFAULT NULL,
      `gallery_articolo` int(11) DEFAULT NULL,
      `titolo_articolo` varchar(250) DEFAULT NULL,
      `titolo_strillo_articolo` varchar(250) DEFAULT NULL,
      `descrizione_strillo_articolo` text,
      `testo_articolo` text,
      `autore_articolo` int(11) DEFAULT '1',
      `fotografo_articolo` int(11) DEFAULT '1',
      `stato_articolo` tinyint(1) NOT NULL DEFAULT '0',
      `data_add` datetime DEFAULT NULL,
      `data_edit` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (`id_articolo`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=15 ;

    Per velocizzare il tutto ho ridotto il codice in modo da focalizzare l'attenzione sul problema.

    Avete qualche suggerimento?
    Ho ricercato nel forum ma non sono riuscito a risolvere.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    ciao spiadadda,
    è un problema di incoerenze di codifica.

    La tabllella utilizza latin1 (iso 8859-1), il charset html è utf-8, la connessione di default dovrebbe essere latin1, il file non lo sappiamo.

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.