Cet article vous présente principalement la solution au problème de non-concordance des jeux de caractères des requêtes MySQL. L'article vous le présente en détail à travers un exemple de code. Il a une certaine valeur de référence et d'apprentissage pour les amis qui rencontrent également ce problème. qui en ont besoin, veuillez suivre l'éditeur pour apprendre ensemble.
J'ai trouvé le problème
J'ai récemment rencontré un problème au travail Lorsque la base de données MySQL a créé la table, elle a utilisé le jeu de caractères latins, et La requête sur la page Web est utf-8 Lorsque le chinois est saisi sur la page de saisie puis interrogé dans la base de données, l'erreur ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
sera signalée, j'ai donc trouvé la base de données et apporté des modifications à la table de données dans le stackover. méthodes de jeu de caractères.
SET collation_connection = 'utf8_general_ci'
Remarque : doit être remplacé dans les deux phrases suivantes par le nom de votre base de données et le nom de votre table de données
ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
Cela garantit que la base de données est également dans le jeu de caractères utf-8, et qu'il n'y aura aucune erreur lors de l'interrogation du contenu de la base de données lors de la saisie en chinois. .
référence : Mélange illégal de classements Erreur MySQL
Définissez le jeu de caractères de la base de données en PHP sur utf-8
mysqli_set_charset($dbc,'utf8');
Juste ajoutez la méta qui affiche utf-8 en html
<meta charset="utf-8">
Résumé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!