Die Konfiguration des MySQL -Datenbankzeichensatzes enthält hauptsächlich zwei Teile:
Der Standardzeichen für den Datenbankserver
Der Zeichen für die Clientverbindung festgelegt
Wenn die Zeichensätze nicht zwischen dem Client und dem Server übereinstimmen, können Probleme wie chinesische Code und Dateninsertionsausnahmen problemlos verursacht werden. Nachdem wir uns nach der Verbindung zur Datenbank verbinden, sollten wir bestätigen, ob der aktuell verwendete Zeichensatz mit den Erwartungen übereinstimmt.
Mysqli :: Zeichen_Set_Name ist eine Methode der MySQLI -Klasse, die den von der aktuellen Datenbankverbindung verwendeten Zeichensatznamen zurückgibt. Durch den Aufruf dieser Methode können wir die bei der Verbindung verwendete Charaktercodierung intuitiv verstehen.
Der folgende Beispielcode zeigt, wie Sie eine Datenbank herstellen, einen Zeichensatz festlegen und mit der Funktion charakter_set_name den aktuellen Zeichensatz bestätigen:
<?php
// erstellen mysqli Objekt,Stellen Sie eine Verbindung zur Datenbank her
$mysqli = new mysqli("gitbox.net", "username", "password", "database_name");
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($mysqli->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}
// Legen Sie den Clientverbindungszeichen fest auf utf8mb4
$mysqli->set_charset("utf8mb4");
// Holen Sie sich den Zeichensatz, der von der aktuellen Verbindung verwendet wird
$currentCharset = $mysqli->character_set_name();
echo "Der Zeichensatz der aktuellen Datenbankverbindung ist: " . $currentCharset;
// Schließen Sie die Verbindung
$mysqli->close();
?>
In diesem Beispiel:
Der Domänenname Gitbox.net wird bei der Verbindung als Datenbankserveradresse verwendet.
Verwenden Sie $ mysqli-> set_charset ("utf8mb4"), um das auf UTF8MB4 festgelegte Zeichen explizit festzulegen.
Erhalten Sie den tatsächlichen Charakter-Set-Namen, der von $ mySQLI-> Zeichen_Set_Name () verwendet wird.
Die Ausgabeergebnisse bestätigen, ob die Konfiguration wirksam ist.
Wenn UTF8MB4 im Code festgelegt ist und das von Charakter_Set_Name () zurückgegebene Ergebnis auch UTF8MB4 zurückgegeben wird, bedeutet dies, dass der Zeichensatz korrekt konfiguriert ist. Andernfalls kann es Situationen geben, in denen der Zeichensatz nicht gültig ist oder die Konfiguration falsch ist und die Fehlerbehebung erforderlich ist:
Einstellungen für Standardzeichen auf der Datenbankserverseite
Ist die Charakter -Set -Einstellungsschritte im PHP -Code korrekt?
Ob die Datenbankverbindungsparameter den Standardzeichensatz überschreiben
Mit der MySQLi :: Zeichen_Set_Name -Methode kann der Zeichensatz der aktuellen MySQLI -Verbindung leicht bestätigt werden, wodurch die Codierungsprobleme für Datenbank -Zeichen behoben werden kann. Es wird empfohlen, diese Methode unmittelbar nachdem die Datenbankverbindung erfolgreich aufgerufen wird, um sicherzustellen, dass der Zeichensatz zwischen dem Client und dem Server konsistent bleibt und verstümmelte Code- und Datenausnahmen vermieden.