Dieser Artikel stellt Ihnen hauptsächlich die Lösung des Problems der Nichtübereinstimmung von MySQL-Abfragezeichen vor. Der Artikel stellt es Ihnen ausführlich anhand von Beispielcode vor. Es hat einen gewissen Referenz- und Lernwert für Freunde, die ebenfalls auf dieses Problem stoßen Wer es braucht, folgt bitte dem Herausgeber, um gemeinsam zu lernen.
Das Problem gefunden
Ich bin kürzlich auf ein Problem bei der Arbeit gestoßen, als die MySQL-Datenbank den lateinischen Zeichensatz verwendete. und Die Abfrage auf der Webseite ist utf-8. Wenn Chinesisch auf der Eingabeseite eingegeben und dann in der Datenbank abgefragt wird, wird der Fehler ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
gemeldet, sodass ich die Datenbank gefunden und Änderungen an der Datentabelle im Stackover vorgenommen habe Fluss. Zeichensatzmethoden.
SET collation_connection = 'utf8_general_ci'
Hinweis: sollte in den folgenden beiden Sätzen durch Ihren Datenbanknamen und Ihren Datentabellennamen
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_ciDadurch wird sichergestellt, dass die Datenbank auch im UTF-8-Zeichensatz vorliegt und es bei der Eingabe auf Chinesisch zu keinen Fehlern bei der Abfrage des Inhalts in der Datenbank kommt. . Referenz: Unzulässige Mischung von Kollatierungen MySQL-FehlerStellen Sie den Datenbankzeichensatz in PHP auf utf-8 ein
mysqli_set_charset($dbc,'utf8');Nur Fügen Sie das Meta hinzu, das UTF-8 in HTML anzeigt
<meta charset="utf-8">
Zusammenfassung
Das obige ist der detaillierte Inhalt vonLösung des Problems der Nichtübereinstimmung des Abfragezeichensatzes in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!