Ciao a tutti...
Ho un sito in php 5.6 con un'amministrazione ed usando PDO salva su un db mysql.
Voglio usare la codifica UTF8, quindi:
nella pagina ho <meta charset="utf-8">
il DB è in utf8_general_ci
nella connessione ho:
setlocale(LC_ALL, 'it_IT.UTF-8');
$this->pdo->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
Ho due server che si comportano in modo diverso, vorrei capire quale sia il giusto comportamento tra i due.
frase salvata: " l'Aloe vera è una pianta le cui proprietà "
nel primo, se guardo su DB la frase viene salva come:
" l'Aloe vera è una pianta le cui proprietà "
nel secondo, se guardo su DB la frase viene salva come:
l’Aloe vera è una pianta le cui propriet�
Partiamo con le domande:
1. quale delle due è corretta? nel senso... se sto salvando i miei testi in utf8... sul db cosa mi devo trovare? la frase leggibile... o quella con caratteri strani?
perchè andando a guardare un convertitore di testi online (https://cafewebmaster.com/online_tools/utf8_encode).. mi verrebbe da dire quella con caratteri strani, ma non ne sono tanto sicuro...
2. se è corretta quella con il testo leggibile... da cosa dipende che salvi in quel modo?
non capisco perchè sul primo server la salva in un modo e nel secondo la salva in un altro.
Parliamo dello stesso db, dello stesso codice... forse sono impostazioni nel server? o qualcosa di impostato male su uno dei due db?
Spero che qualcuno sappia darmi indicazioni in merito
ho trovato anche questo
https://code.i-harness.com/it/q/4a12ae
e da qui mi verrebbe da dire che non dovrebbe salvarmi i testi con caratteri strani... ma io ho fatto tutto quello che c'è scritto li, compreso il SET NAMES