Heim >Backend-Entwicklung >PHP-Problem >PHP schreibt verstümmelte Zeichen in die Datenbank

PHP schreibt verstümmelte Zeichen in die Datenbank

王林
王林Original
2019-09-17 13:05:483289Durchsuche

PHP schreibt verstümmelte Zeichen in die Datenbank

Fast alle PHP-Entwickler sind auf das Problem verstümmelter Zeichen gestoßen. Im Folgenden stellen wir hauptsächlich die Lösung für verstümmelte Zeichen beim Herstellen einer Verbindung zur PHP-MySQL-Datenbank vor. „utf8_general_ci“ oder führen Sie die Anweisung aus:

CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Beim Erstellen einer Datentabelle: Wenn das Feld Chinesisch speichert, müssen Sie „Organisation“ auf „utf8_general_ci“ setzen, wenn das Feld Englisch oder Zahlen speichert Die Standardeinstellung ist in Ordnung.
Die entsprechende SQL-Anweisung, zum Beispiel:

CREATE TABLE `test` (
`id` INT NOT NULL ,
`name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;

2. Verwenden Sie PHP, um die Datenbank zu lesen und zu schreiben

Nachdem Sie eine Verbindung zur Datenbank hergestellt haben,

$connection = mysqli_connect($host_name, $host_user, $host_pass);

join:

mysqli_query("set character set 'utf8'");//读库
mysqli_query("set names 'utf8'");//写库
kann die MYSQL-Datenbank normal lesen und schreiben.
Die mit appserv-win32-2.5.10 erstellte Umgebung verwendet bei der Installation dieses Pakets die Standard-UTF8-Codierung.

Schreiben Sie beim Schreiben der Datenbankverbindungsdatei:


$conn = mysqli_connect("$host","$user","$password");
mysqli_query("SET NAMES 'UTF8'");
mysqli_select_db("$database",$conn);

Achten Sie dann beim Erstellen der Seite auf diesen Satz:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Auf diese Weise unabhängig vom eingegebenen Chinesisch in die Datenbank oder die Seitenanzeige, es ist alles normal.
In der DW CS4-Version wird standardmäßig auch die utf8-Seite generiert.
Ähnlich, wenn Sie die Datenbankverbindungsdatei wie folgt schreiben:

mysqli_query("SET NAMES &#39;GBK&#39;");

, dann sollte sich die Seite auch entsprechend ändern:

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

Der obige Inhalt dient nur als Referenz!

Empfohlenes Tutorial:

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonPHP schreibt verstümmelte Zeichen in die Datenbank. 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