Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie verstümmelte Daten, die von PHP in MySQL eingefügt wurden

So lösen Sie verstümmelte Daten, die von PHP in MySQL eingefügt wurden

PHPz
PHPzOriginal
2023-04-03 19:20:451187Durchsuche

Wenn Sie PHP zum Schreiben in die MySQL-Datenbank verwenden, werden nach dem Einfügen von Daten manchmal verstümmelte Zeichen angezeigt. Es kann viele Gründe für verstümmelte Zeichen geben, z. B. Nichtübereinstimmung des Zeichensatzes, Nicht-UTF-8-Zeichensatz, Zeichensatz für die Datenbankverbindung usw. Lassen Sie uns diese möglichen Ursachen für verstümmelte Zeichen analysieren und einige Lösungen anbieten.

1. Nicht übereinstimmende Zeichensätze

Wenn im PHP-Code ein anderer Zeichensatz als der Standardzeichensatz der MySQL-Datenbank verwendet wird, können verstümmelte Zeichen auftreten.

Lösung: Verwenden Sie den SET NAMES-Befehl von MySQL im Code, um den angegebenen Zeichensatz zu erzwingen. Beispiel:

mysql_query("SET NAMES 'utf8'");

2. Nicht-UTF-8-Zeichensatz

Wenn der PHP-Code einen Nicht-UTF-8-Zeichensatz verwendet, die MySQL-Datenbank und -Tabelle jedoch den UTF-8-Zeichensatz verwenden, können verstümmelte Zeichen auftreten.

Problemumgehung: Stellen Sie den Zeichensatz sowohl des PHP-Codes als auch der MySQL-Datenbank und -Tabelle auf UTF-8 ein.

3. Zeichensatz für die Datenbankverbindung

Wenn beim Herstellen einer Datenbankverbindung der Verbindungszeichensatz nicht explizit angegeben wird, wird der MySQL-Standardzeichensatz verwendet, was zu verstümmelten Zeichen führt.

Lösung: Verwenden Sie beim Herstellen einer Verbindung zur Datenbank die Funktion mysqli_set_charset(), um den Verbindungszeichensatz manuell anzugeben. Zum Beispiel:

$mysqli = new mysqli("localhost", "username", "password", "database");
$mysqli->set_charset("utf8");

4. Problem beim Senden des Front-End-Formulars

Manchmal werden verstümmelte Zeichen angezeigt, weil der Zeichensatz beim Senden des Front-End-Formulars nicht angegeben wurde, was zu einer Nichtübereinstimmung des Zeichensatzes führt.

Lösung: Verwenden Sie das -Tag im HTML-Header der Front-End-Seite, um den Zeichensatz anzugeben, zum Beispiel:

<meta charset="utf-8">

Zusammenfassung

Wenn Sie auf das Problem verstümmelter Zeichen stoßen, nachdem PHP in MySQL schreibt, Sie können Fehler aus den oben genannten vier Blickwinkeln beheben und beheben. Beim Schreiben von Code sollten wir dem Prinzip eines einheitlichen Zeichensatzes folgen, um verstümmelte Zeichen zu vermeiden. Gleichzeitig sollten Sie auch in realen Anwendungen immer wieder überprüfen, ob die Daten korrekt in die Datenbank geschrieben werden.

Das obige ist der detaillierte Inhalt vonSo lösen Sie verstümmelte Daten, die von PHP in MySQL eingefügt wurden. 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