Heim >Backend-Entwicklung >PHP-Problem >So lösen Sie die von PHP angezeigten chinesischen verstümmelten Zeichen in der Datenbank
Wenn wir während der Entwicklung PHP zum Aufrufen der Datenbank verwenden, stoßen wir häufig auf das Problem verstümmelter chinesischer Zeichen. Dieses Problem wird normalerweise dadurch verursacht, dass sich der Datenbankzeichensatz vom PHP-Zeichensatz unterscheidet oder PHP die chinesischen Zeichen in der Datenbank nicht korrekt analysiert. In diesem Artikel stellen wir vor, wie Sie das Problem verstümmelter chinesischer Schriftzeichen in PHP lösen können. 1. Konfigurieren Sie den Datenbankzeichensatz Um das Problem der verstümmelten chinesischen Zeichen zu lösen, muss der Datenbankzeichensatz geändert und auf utf8 eingestellt werden. In MySQL können Sie es mit dem folgenden Befehl festlegen:
show variables like 'character%';
wobei database_name
der Name der Datenbank ist, die Sie festlegen möchten. Hier ist der Standardzeichensatz der Datenbank auf utf8 eingestellt. In MySQL ist utf8 der am häufigsten verwendete Zeichensatz und kann Zeichen in den meisten Sprachen unterstützen.
1.3 Legen Sie den Zeichensatz der Datentabelle fest
In MySQL kann jede Datentabelle den Zeichensatz auch unabhängig festlegen. Sie können den Zeichensatz einer Tabelle mit dem folgenden Befehl auf utf8 festlegen:
ALTER DATABASE `database_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Dabei ist table_name
der Name der Datentabelle, die Sie festlegen möchten. Hier wird der Zeichensatz der Datentabelle auf utf8 eingestellt. Auf diese Weise verwenden alle Tabellen in der Datenbank den utf8-Zeichensatz.
database_name
是你要设置的数据库名称。这里将数据库的默认字符集设置为utf8。在mysql中,utf8是最常用的字符集,能够支持绝大多数语言的字符。
1.3 设置数据表字符集
在mysql中,每个数据表也可以单独设置字符集。通过以下命令可以将某个表的字符集设置为utf8:
ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
其中,table_name
2.1 Legen Sie den PHP-Standardzeichensatz fest
mbstring.language=CN2.2 Legen Sie den PHP-Laufzeitzeichensatz fest
In PHP müssen Sie auch den Laufzeitzeichensatz festlegen. Sie können den Zeichensatz von PHP über den folgenden Code festlegen:
header('content-type:text/html;charset=utf-8');Dieser Code setzt den Ausgabezeichensatz von PHP auf utf-8.
3. Rufen Sie chinesische Zeichen in der Datenbank auf.
Wenn die Abfrage chinesische Zeichen enthält, müssen Sie den Abfragezeichensatz festlegen. Sie können den Abfragezeichensatz über den folgenden Code festlegen:
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('连接数据库失败!'); mysql_select_db($dbname, $conn); mysql_query("SET NAMES 'utf8'");
Testergebnisse
mysql_query("set character_set_client=utf8"); mysql_query("set character_set_results=utf8");
Auf diese Weise können die chinesischen Schriftzeichen korrekt auf der Seite angezeigt werden.
Das obige ist der detaillierte Inhalt vonSo lösen Sie die von PHP angezeigten chinesischen verstümmelten Zeichen in der Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!