Mysql
 sql >> Base de données >  >> RDS >> Mysql

Il y a des symboles comme  et ainsi de suite dans la base de données, que faire ?

Cela dépend en quelque sorte de la nature réelle du problème...

Si c'est que ces caractères sont supposés pour être là (comme "Mañana" en espagnol), alors vous devrez vous assurer que tout est en UTF-8... la meilleure façon est de :

1 :vérifiez que les tables de la base de données sont en encodage "utf-8" (sinon, convertissez-les en utf-8)

2 :comme Martin l'a noté, assurez-vous que le connecteur de la base de données est utf-8 en utilisant quelque chose comme :

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

3 :assurez-vous que le document est en utf-8 (vous pouvez ajouter un en-tête en haut)

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

4 :par mesure de sécurité, ajoutez-le également en tant que balise méta

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

CEPENDANT

Il est tout à fait possible que vous ayez des caractères duff dans la base de données où quelque chose comme ISO-8859-1 a été jonglé avec UTF-8, mal. Dans ce cas, vous remarquerez des choses comme £ où ce que vous voulez réellement est £ (Parce que les caractères UTF-8 contiennent plus de données que les caractères ISO-8859-1, ces données supplémentaires peuvent devenir un caractère supplémentaire si vous ne faites pas attention).

Dans ce cas, votre meilleur pari est de nettoyer la base de données (vous pourriez probablement faire quelque chose comme UPDATE table SET field = REPLACE(field, '£', '£') pour les "erreurs" courantes), puis convertissez tout le kaboodle en UTF-8 (comme indiqué ci-dessus) pour éviter que le problème ne se reproduise.