- Home
- Categorie
- Coding e Sistemistica
- HTML e CSS
- codifica caratteri
-
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!
-
Nessuno sa aiutarmi?
-
Che caratteri devi inserire?
-
Semplicemente le "è" me le sostituisce con un rombo e un punto interrogativo.
-
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" />