Mysql
 sql >> Database >  >> RDS >> Mysql

Ci sono simboli come  e così via nel database, cosa fare?

In un certo senso dipende da quale sia effettivamente il problema...

Se è che quei caratteri sono presunti per essere lì (come "Mañana" in spagnolo), dovrai assicurarti che tutto sia in UTF-8... il modo migliore è:

1:verifica che le tabelle del database siano nella codifica "utf-8" (in caso contrario convertile in utf-8)

2:come ha notato Martin, assicurati che il connettore del database sia utf-8 usando qualcosa come:

mysql_set_charset('utf8'); //note that MySQL uses no hyphen here

3:assicurati che il documento sia utf-8 (puoi aggiungere un'intestazione in alto)

<?php header('Content-type:text/html;charset=utf-8'); ?>

4:per sicurezza, aggiungilo anche come meta tag

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

COMUNQUE

È del tutto possibile che tu abbia dei caratteri duff nel database in cui qualcosa come ISO-8859-1 è stato manipolato male in UTF-8. In questo caso noterai cose come £ dove quello che vuoi effettivamente è £ (poiché i caratteri UTF-8 contengono più dati dei caratteri ISO-8859-1, quei dati extra possono diventare un carattere aggiuntivo se non stai attento).

In tal caso la soluzione migliore è pulire il database (probabilmente potresti fare qualcosa come UPDATE table SET field = REPLACE(field, '£', '£') per "errori comuni") e quindi convertire l'intero kaboodle in UTF-8 (come descritto sopra) per evitare che il problema si ripresenti.