Per visualizzare correttamente gli accenti sulle proprie pagine web, la sola soluzione è quella che consiste nell'utilizzare UTF8. Vediamo come usare i caratteri accentati e UTF 8 su HTML e PHP.
Controllare la codifica dei file
I file (.php e .html) dei propri siti devono essere codificati in
UTF8 (di preferenza senza BOM). Per fare questo, potrà utilizzare il proprio editor di testo preferito (o il proprio IDE).
Ad esempio: per Notepad++, entrare nel menu
Formato,
codifica in UTF-8 (senza Bom). Dreamweaver:
Modifica,
Proprietà della pagina,
Titolo/codifica. Aptana:
Modifica >
Set Encoding. Notepad (Blocco Note Windows):
File,
Salva come nome, poi selezionare UTF-8 nella lista
Codifica. PhpDesigner: entrare su
File,
Codifica del file, e poi selezionare
UTF-8 dalla lista. PhpEdit: nella barra delle attività selezionare
UTF-8 senza BOM nella lista. Infine, per UltraEdit, entrare in
File,
Conversioni, ASCII verso UTF-8.
Configurare la connessione al database
In PDO, per esempio, si potrà specificare la codifica durante la connessione, aggiungendo il parametro
charset:
try{
$db =new PDO('mysql:host=localhost;
dbname=mydb; charset=utf8', 'user', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
} catch(PDOException $e) {
die('Error : ' . $e->getMessage());
}
Su MySQL
i si utilizzeranno le istruzioni:
//Modo OOP (programmazione orientata agli oggetti)
$link->set_charset("utf8")
// Modo programmazione procedurale
mysqli_set_charset($link, "utf8")
$link rappresentando la connessione.
Come dichiarare la codifica nella propria pagina
Questa dichiarazione è fatta nell’header della pagina HTML, nel tag HEAD è possibile utilizzare, ad esempio:
meta http-equiv="Content-Type" content=\"text/html; charset=UTF-8\"
o (in HTML5)
meta charset="UTF-8"
Mentre in PHP si potrà utilizzare l’istruzione:
header( 'content-type: text/html; charset=utf-8' );
Verificare che i propri data base siano in UTF8
Spesso in un database MySQL si utilizzerà la codifica
utf8-general-ci o
utf8_unicode_ci.
Nota Bene: se si sono già effettuate delle inserzioni nel data base, controllare che i caratteri accentati appaiano correttamente nelle tabelle.
Utf8_encode/UTF8_decode
Non dimenticare di rimuovere tutte le istruzioni
utf8_encode e
utf8_decode se sono state utilizzate nei propri script.
Foto: © Unsplash.