Ciao a tutti!
mi riuscite a far capire come risolvere il problema di sti benedetti caratteri che mi compaiono tutti strani???
Ciao a tutti!
mi riuscite a far capire come risolvere il problema di sti benedetti caratteri che mi compaiono tutti strani???
Il problema deve essere affrontato sotto diverse prospettive ma tutte incentrate sulla questione dello "charset" cioè set di caratteri ammessi.
Il problema può essere affrontato:
- sul lato db cioè lo charset di caratteri ammessi nel db;
- sul lato X/HTML lo charset ammesso dal documento prodotto.
Per verificare che il carattere accentato sia salvato correttamente nel db puoi farre una verifica diretta tramite phpmyadmin. Generalmente impostando lo charset del db su latin1 dovresti salvare correttamente tutti i caratteri (io addirittura con tale charset ho inserito nel db anche caratteri arabi e cinesi senza problemi...).
A questo punto quando fai il select e stampi a video la pagina devi verificare se nel codice sorgente (quello generato dall'echo, non quello visualizzato dal browser) i caratteri sono stampati correttamente. Se i caratteri sono presenti correttamente puoi:
- impostare lo charset della pagina web tramite il metatag:
- oppure se vuoi impostare l'uft-8 prima di mandare a video tramite echo devi filtrare le stringhe con htmlentities()... il chè in generale è quasi sempre consigliabile...codice:<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Codice PHP:
echo htmlentities('éèòàù');
ma in caso
echo htmlentities('éèòàù');
va infilato ogni qualvolta devo mandare a video qualche dato del database?!?!
Dipende:Originariamente inviato da evedder81
ma in caso
echo htmlentities('éèòàù');
va infilato ogni qualvolta devo mandare a video qualche dato del database?!?!
se ad esempio nel db hai salvato HTML ovvio che no.
se nel db hai salvato i commenti degli utenti ovvio che sì (soprattutto per ragioni di sicurezza).
ma quando scrivo
e poi vado a vedere nel sito mi compaiono semplicemente éèòàù..e non cambia nullaCodice PHP:
<?PHP
echo htmlentities('éèòàù');
echo $row['sottotitolo']; ?>
no vabbè..fai finta che sto commento non l'abbia mai scritto!!!ho capito che ovlevi dire.. :-P
però mi da questo errore ora
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\Rayh\pag_web\news.php on line 110
ok..era da metterere le parentesi...scusa ma a prima mattina sto un po rincoglionito
ecco!!fatto tutte ste cose.. ..cmq non cambia nulla!!per lo meno se faccio girare il sito in locale!!perchè?!
nessun aiutino!!??! :-(