• User Attivo

    codifica caratteri

    Non vorrei creare post doppi e nel caso l'abbia fatto chiedo scusa in anticipo. In pratica ho il sito web, il quale è scollegato da database, che su chrome mi fa vedere i rombi con i ? mentre su explorer tutto viene visualizzato correttamente. Ho guardato nelle impostazioni di chrome e sembra settato tutto correttamente.

    A seguire i tag che ho sulla pagina html:

    
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    
    

    questo sulla pagina php:

    $headers .= "Content-Type: text/html; charset=utf-8 \n";
    

    Grazie in anticipo per l'aiuto! 😄


  • User Attivo

    Nessuno sa aiutarmi?


  • User Attivo

    Che caratteri devi inserire? 🙂


  • User Attivo

    Semplicemente le "è" me le sostituisce con un rombo e un punto interrogativo.


  • User

    I problemi relativi possono essere molti ma tutti risolvibili, intanto vedi come Chrome ti restituisce la pagina, cioè vai in Menù Strumenti-->Codifica e guarda che codifica è riportata, sappi che quella è la codifica del server, questo risponde sempre con una codifica caratteri che è quella per la quale è stato impostato. Prova a spostarla mano e vedi se nella pagina cambia qualche cosa.
    Poi mettere nell'html <meta charset="utf-8"> non significa che il documento sarà codificato così, quell'istruzione notifica al server che il documento che andrà a leggere è codificato in quel modo, ma se tu non l'hai salvato in quel formato, il server non può farci nulla, sarai tu a doverlo codificare in fase di salvataggio della pagina.
    Se infine il documento viene preso da un database e quindi costruito in automatico, allora ciò che esce dal database dovrà essere in utf-8, se non lo è un casino 😄 nel senso che non puoi semplicemente ricodificare tutto in utf-8 col php e buonanotte, il problema sta nel fatto che non puoi sapere a priori chi ha inserito il testo in che caspita di codifica l'ha fatto.
    Quello che puoi fare è entrare nel database, se mysql con phpmyadmin, vedere le tabelle di testo in che codifica sono, e se non sono in utf-8 modificarlo, magari in utf-8 general ci che significa utf-8 generale case insensitive, è la più generica, questo non modifica ciò che vi è inserito dentro, ma almeno sarà così per il nuovo testo.
    Internet Explorer? A non so come incasina i testi, probabilmente legge il file html e se trova <meta charset="utf-8"> lui lo prende utf-8 a prescindere, anche qui vai in menù Visualizza-->Codifica e guarda come codifica.
    Ad esempio ora questo forum sia con Chrome che con IE8 è in iso-8859-1 come riportato dalla stringa <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />