Heim  >  Artikel  >  Datenbank  >  Ausführliche Erläuterung des Problems mit der Nichtübereinstimmung des MySQL-Abfragezeichensatzes

Ausführliche Erläuterung des Problems mit der Nichtübereinstimmung des MySQL-Abfragezeichensatzes

小云云
小云云Original
2017-12-22 14:42:461858Durchsuche

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_ci
Dadurch 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-Fehler

Stellen 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn