Heim >Backend-Entwicklung >PHP-Problem >So lösen Sie die von PHP angezeigten chinesischen verstümmelten Zeichen in der Datenbank

So lösen Sie die von PHP angezeigten chinesischen verstümmelten Zeichen in der Datenbank

PHPz
PHPzOriginal
2023-04-21 09:07:59982Durchsuche

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.

2. Legen Sie den PHP-Zeichensatz fest

database_name是你要设置的数据库名称。这里将数据库的默认字符集设置为utf8。在mysql中,utf8是最常用的字符集,能够支持绝大多数语言的字符。

1.3 设置数据表字符集
在mysql中,每个数据表也可以单独设置字符集。通过以下命令可以将某个表的字符集设置为utf8:

ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

其中,table_name2.1 Legen Sie den PHP-Standardzeichensatz fest

Öffnen Sie die Datei php.ini, suchen Sie den Parameter „mbstring.sprache“ und setzen Sie seinen Wert auf „CN“. Wie unten gezeigt:

mbstring.language=CN
2.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.

dbuser, $dbpass, $ dbname sind jeweils die Hostadresse, der Benutzer, das Passwort und der Datenbankname der Datenbank. Hier setzen wir den Datenbankzeichensatz über die Funktion mysql_query() auf utf8.

3.2 Abfragezeichensatz festlegen

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

Nachdem wir den Datenbankzeichensatz und den PHP-Zeichensatz konfiguriert haben, können wir das Chinesisch in der Datenbank testen. Sie können eine Tabelle erstellen, darin ein chinesisches Schriftzeichen einfügen und diese dann mit dem folgenden Code anzeigen:

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.

5. Zusammenfassung
  1. Durch die oben genannten Schritte können wir das Problem der verstümmelten chinesischen Zeichen in der PHP-Anzeigedatenbank lösen. Um chinesische Zeichen korrekt anzuzeigen, müssen Sie sowohl den Datenbankzeichensatz als auch den PHP-Zeichensatz auf utf8 sowie den Abfragezeichensatz und den Linkzeichensatz korrekt festlegen. Auf diese Weise können chinesische Schriftzeichen in der Entwicklung verwendet und korrekt dargestellt 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!

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