Heim > Datenbank > MySQL-Tutorial > Hauptteil

So lösen Sie das verstümmelte Problem der PHP-Verbindung zu MySQL

WBOY
Freigeben: 2023-05-29 14:07:36
nach vorne
1165 Leute haben es durchsucht

1. Gründe für verstümmelte Zeichen
Wenn der Zeichensatz von MySQL nicht mit dem Zeichensatz übereinstimmt von PHP werden verstümmelte Zeichen angezeigt. Die spezifischen Gründe sind wie folgt:

  1. Der Zeichensatz von MySQL und der Zeichensatz von PHP sind inkonsistent.
    Der Standardzeichensatz von MySQL ist UTF-8 und der Standardzeichensatz von PHP für ISO-8859-1. Wenn Sie in Ihrem PHP-Code keinen Zeichensatz angeben, verwendet PHP den ISO-8859-1-Zeichensatz. Wenn zu diesem Zeitpunkt die von MySQL abgefragten Daten UTF-8-Zeichen enthalten, werden verstümmelte Zeichen angezeigt.

  2. Der Zeichensatz der MySQL-Datentabelle stimmt nicht mit dem Zeichensatz des MySQL-Servers überein.
    In MySQL verfügt jede Datentabelle über einen Standardzeichensatz. Wenn der Zeichensatz der Datentabelle nicht mit dem Zeichensatz des MySQL-Servers übereinstimmt, werden möglicherweise verstümmelte Zeichen angezeigt.

  3. Die Art und Weise, wie PHP eine Verbindung zu MySQL herstellt, ist falsch
    Bei der Verbindung zu MySQL verfügt PHP über verschiedene Verbindungsmethoden, wie mysql_connect, mysqli_connect, PDO usw . Verschiedene Verbindungsmethoden verwenden unterschiedliche Kodierungsmethoden. Bei falscher Auswahl führt dies zu Problemen mit verstümmeltem Code.

2. Lösen Sie das Problem mit verstümmeltem Code
Aus den oben genannten Gründen können die folgenden Maßnahmen ergriffen werden, um das Problem mit verstümmeltem Code zu lösen Codeproblem.

  1. Zeichensatz für PHP angeben
    Lösen Sie im PHP-Code das Problem verstümmelter Zeichen, indem Sie den Zeichensatz angeben. Sie können den folgenden Code verwenden:

header('Content-Type:text/html;charset=utf-8');
Nach dem Login kopieren
  1. MySQL-Standardzeichensatz ändern
    MySQL kann in der MySQL-Konfigurationsdatei geändert werden my.cnf Der Standardzeichensatz. Öffnen Sie die Datei, suchen Sie den Abschnitt [mysqld] und fügen Sie den folgenden Code hinzu:

character-set-server=utf8
Nach dem Login kopieren
  1. Ändern Sie den Zeichensatz der MySQL-Daten table
    Sie können den Zeichensatz der Datentabelle durch die folgende Anweisung ändern:

ALTER TABLE {table_name} CONVERT TO CHARACTER SET utf8;
Nach dem Login kopieren
  1. Ändern Sie die Art und Weise, wie PHP eine Verbindung herstellt zu MySQL
    Sie können die PDO-Verbindung MySQL verwenden und den Zeichensatz beim Herstellen der Verbindung wie folgt angeben:

$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'password');
Nach dem Login kopieren

Wenn Sie MySQL verwenden, um eine Verbindung zu MySQL herzustellen, Sie können den Zeichensatz über den folgenden Code angeben:

$mysqli = mysqli_connect('localhost', 'root', 'password', 'test');
mysqli_set_charset($mysqli, 'utf8');
Nach dem Login kopieren
  1. Speichern Sie die PHP-Datei im UTF-8-Codierungsformat
    Wenn Ihre PHP-Datei chinesische Zeichen enthält, Achten Sie darauf, die Datei im UTF-8-Codierungsformat zu speichern, da sonst verstümmelte Zeichen angezeigt werden.

Das obige ist der detaillierte Inhalt vonSo lösen Sie das verstümmelte Problem der PHP-Verbindung zu MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage