Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: Caratteri speciali

  1. #1

    Caratteri speciali

    Ciao a tutti
    nel mio sito di libri antichi:
    http://www.libriantichicavallero.com/all.php

    i caratteri speciali tipo "è" oppure "à" non vengono visualizzati e troncano il testo a seguire.

    Ho inserito nelle pagine php il seguente:
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    ho salvato tutti i file php con codifica UTF-8,

    ho importato in phpmyadmin il database con set di caratteri UTF-8

    ma tutto ciò non è servito.

    Allego la struttura:
    struttura.jpg

    Questa la prima parte del file index.php:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


    <html xmlns="http://www.w3.org/1999/xhtml" lang="it">


    <head>
    <meta http-equiv="Content-Language" content="it" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Libri Antichi Cavallero, Salgari, Manuali Hoepli</title>
    <meta name="description" content="libri antichi, Salgari, Manuali Hoepli, catalogo libri antichi, libri rari, cinquecentine" />
    <meta name=”robots” content=”index” />
    <meta name="keywords" content="libri antichi, catalogo libri antichi, libri rari, Manuali Hoepli, Hoepli, Salgari, libro antico, libri, libro, catalogo" />
    <meta name="author" content="Pier Mario Cavallero" />


    <link rel="stylesheet" type="text/css" href="style.css" />
    </head>

    Occorre fare qualcos'altro ?

    Grazie per i consigli
    Pier Mario

  2. #2
    Nessuno sa aiutarmi ?

    allego il link della struttura che non era visibile nel mio precedente post:
    http://www.libriantichicavallero.com/struttura.pdf

    preciso che ho letto il link del moderatore dove spiega in dettaglio il problema dei caratteri speciali.

    Grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Prbabilmente i tuo file sono salvati in utf-8 ma con il bom. per far funzionare tutto devi togliere il bom.

    Per farlo cercati una guida specifica per l'editor che usi per modificare i file.

    Inoltre potrebbe essere un problema di server web che non accetta l'utf-8, ma a meno che il sito non sia su una macchina mal configurata non dovrebbe succedere.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Hai già letto la guida in evidenza riguardo i caratteri strani?
    Per esempio vedo che non parli dell'aver impostato il charset per la connessione tra PHP e MySQL.

  5. #5
    Grazie per la replica,
    utilizzo semplicemente "blocco note" per modificare i file php che comunque consente il salvataggio con codifica UTF-8 ma non so se con o senza bom. Se mi consigliate qualche altro editor è ben accetto.
    Il server web che utilizzo è Mondoserver ed accetta l'UFT-8.
    La guida del moderatore l'ho letta ma io non sono molto esperto, se poteste spiegarmi in maniera pratica come impostare il charset per la connessione tra PHP e MySQL ?

    Grazie

  6. #6
    Ora ho installato Notepad++ ed ho notato che i miei file php erano salvati con il bom.
    Ora provo a convertirli in UFT-8 senza il bom.
    Quanto all'ultima domanda che ho postato se mi spiegate meglio vi ringrazio.

  7. #7
    allego lo script, a che punto devo inserire questo ?

    //per chi ancora usa le istruzioni mysql_
    mysql_set_charset("utf8");

    ----------------

    <?
    include("config.inc.php");
    include("stile.php");
    ?>


    <br>


    <?
    echo("<table border=\"1\">


    <tr>
    <td valign=\"top\" style=\"color:red\">N</td>
    <td valign=\"top\" style=\"color:red\">AUTORE</td>
    <td valign=\"top\" style=\"color:red\">TITOLO</td>
    <td valign=\"top\" align=\"center\" style=\"color:red\">ANNO</td>
    </tr>");


    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");


    if (!isset($start) OR $start<0)
    $start=0;
    $step = 100;


    $query = "SELECT `N`,`AUTORE`,`GENERE`,`TITOLO`,`DESCRIZIONE`,`EDIT ORE`,`ANNO`,`PREZZO` FROM `articoli` ORDER BY N LIMIT $start,$step";


    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))


    {echo("<tr><td valign=\"top\"><b>$row[N]</b></td>
    <td valign=\"top\" align=\"left\">$row[AUTORE]&nbsp;</td>
    <td valign=\"top\" align=\"left\"><a href=\"view.php?N=$row[N]\" title=\"Dettagli\">$row[TITOLO]</a></td>
    <td valign=\"top\" align=\"right\">&nbsp;$row[ANNO]</td>
    </tr>"); }










    echo("</table>");
    ?>


    <br>


    <table width="100%" border="1">


    <tr>
    <td width="10%" align="left">
    <?
    if ($start>0)
    { $start_back = $start - $step;
    echo "<a href=all.php?start=$start_back>precedenti</a>";
    }
    ?>
    </td>


    <?
    $query = "SELECT count(*) AS tot FROM articoli";
    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);
    $pages = intval(($row[tot]-1) / $step)+1;
    ?>


    <td width="80%" align="center">
    <?
    for ($i=0; $i<$pages AND $i<60; $i++)
    { $start_page = $i * $step;
    echo "<a href=all.php?start=$start_page>" . ($i+1) . "</a> ";
    }
    ?>
    </td>


    <td width="10%" align="right">
    <?
    if ($start + $step < $row[tot])
    { $start_next = $start + $step;
    echo "<a href=all.php?start=$start_next>successivi</a>";
    }
    ?>
    </td>
    </tr>


    </table>


    <p align="center">
    <?
    echo "<a href=\"#\">Torna su</a>";
    ?>
    </p>

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Quote Originariamente inviata da Piermy Visualizza il messaggio
    allego lo script, a che punto devo inserire questo ?

    //per chi ancora usa le istruzioni mysql_
    mysql_set_charset("utf8");
    C'è scritto nella guida
    Questa cosa va specificata al momento della connessione al database, subito dopo averlo selezionato.
    Quindi dopo mysql_select_db()

    Comunque non usarle più le funzioni mysql_ sono state abbandonate, minimo passa a mysqli_

  9. #9
    Ho provato a convertire tutti i file in UTF-8 senza bom ed ho aggiunto mysql_set_charset("utf8"); dopo aver selezionato il database ma il problema rimane

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");


    mysql_set_charset("utf8");


    if (!isset($start) OR $start<0)
    $start=0;
    $step = 100;

    etc...

  10. #10
    Importando il database in Phpmyadmin con set di caratteri ISO 8859-1 tutti i caratteri speciali si vedono correttamente

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 © 2024 vBulletin Solutions, Inc. All rights reserved.