Heim >Datenbank >MySQL-Tutorial >Ausführliche Erläuterung des Problems mit der Nichtübereinstimmung des MySQL-Abfragezeichensatzes
Dieser Artikel stellt Ihnen hauptsächlich die Lösung des Problems der MySQL-Abfragezeichensätze vor. Der Artikel stellt es Ihnen anhand von Beispielcodes ausführlich vor. Es hat einen gewissen Referenz- und Lernwert für Freunde, die ebenfalls auf dieses Problem stoßen ist notwendig Freunde, bitte folgen Sie dem Herausgeber, um gemeinsam zu lernen. Ich hoffe, es kann allen helfen.
Manchmal verwendet die MySQL-Datenbank beim Erstellen von Tabellen den lateinischen Zeichensatz und die Abfrage auf der Webseite ist utf-8. Wenn auf der Eingabeseite Chinesisch eingegeben und dann in der Datenbank abgefragt wird, wird dies gemeldet ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
Aufgrund dieses Fehlers habe ich eine Möglichkeit gefunden, den Zeichensatz in dieser Datenbank und Datentabelle im Stackover-Flow zu ändern.
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 Meta hinzu, die UTF-8 in HTML anzeigt
<meta charset="utf-8">Verwandte Empfehlungen:
Diskutieren Sie den MySQL-Backup-Zeichensatz
php So legen Sie den MySQL-Verbindungszeichensatz fest
Tutorial zur Verwendung des MySQL-Zeichensatzes und der Korrekturlesereihenfolge
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Problems mit der Nichtübereinstimmung des MySQL-Abfragezeichensatzes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!