Heim >Backend-Entwicklung >PHP-Problem >Was tun, wenn in PHP verstümmelte chinesische UTF-8-Zeichen angezeigt werden?

Was tun, wenn in PHP verstümmelte chinesische UTF-8-Zeichen angezeigt werden?

小老鼠
小老鼠Original
2023-04-24 14:01:493531Durchsuche

Lösung für die Anzeige verstümmelter UTF-8-Zeichen in PHP: 1. Fügen Sie „header(“content-type:text/html;charset=utf-8“);“ hinzu. mysql_connect „Funktion zum Herstellen einer Verbindung zur Datenbank und führen Sie dann die Anweisung „mysql_query(‘SET NAMES UTF8‘);“ aus, um die Kodierung in UTF8 zu ändern.

Was tun, wenn in PHP verstümmelte chinesische UTF-8-Zeichen angezeigt werden?

Das Betriebssystem dieses Tutorials: Windows 10-System, PHP-Version 8.1, Dell G3-Computer.

Der Grund, warum PHP verstümmelte utf-8-Zeichen anzeigt

1. Inkonsistente Zeichensatzkodierung ist häufig ein Problem mit dem Kodierungsformat. Beim Schreiben von PHP-Code müssen Entwickler auf das Format der Codedatei selbst achten. Beispielsweise muss Overpass auf das UTF-8-Format eingestellt werden. Wenn es nicht oder falsch eingestellt ist, führt es zu verstümmelten Zeichen in der Ausgabe des PHP-Programms.

Darüber hinaus müssen Sie bei der Verwendung von Datenbankabfragen, Formularübermittlungen und anderen Vorgängen in PHP-Programmen auch darauf achten, ob die Zeichensatzcodierung der Datenbank und der Webseiten einheitlich ist, da sonst auch das Problem des verstümmelten Chinesisch auftritt Charaktere.

2. Browser-Anzeigeproblem

Das Problem verstümmelter Zeichen kann auch durch den Browser verursacht werden. Wenn die Codierungsmethode des Browsers nicht mit der Codierungsmethode der Webseite übereinstimmt, tritt auch das Problem verstümmelter chinesischer Zeichen auf. An dieser Stelle können Entwickler versuchen, die Codierung des Browsers zu ändern, um das Problem zu lösen.

3. Falsche Ausgabemethode

Wenn in PHP-Programmen die falsche Methode zur Ausgabe von Inhalten verwendet wird, tritt auch das Problem verstümmelter chinesischer Zeichen auf. Zu den gängigen Fehlerausgabemethoden gehören die Verwendung von echo, print, print_r, var_dump und anderen Ausgabefunktionen. Diese Funktionen werden bei der Ausgabe von Chinesisch nicht verarbeitet, sodass es leicht zu verstümmelten Zeichen kommt.

Lösung für den in PHP angezeigten verstümmelten chinesischen UTF-8-Code

1: Lösung für gemischte HTML- und PHP-Seiten

So mischen Sie HTML und PHP und befolgen zusätzlich die in der ersten Methode genannten Vorgänge , müssen Sie auch diesen Code oben in der PHP-Datei hinzufügen:

<?php
header("content-type:text/html;charset=utf-8");  //设置编码
  
?>

2: Das Problem chinesischer verstümmelter Zeichen in reinen PHP-Seiten (die Daten sind statisch)

Wenn Ihre PHP-Seite verstümmelte Zeichen enthält, einfach hinzufügen Fügen Sie einfach den folgenden Code am Anfang der Seite hinzu.

<?php
header("content-type:text/html;charset=utf-8");  //设置编码
?>

Drei: PHP+Mysql Chinesisch verstümmelt Problem

Zusätzlich zum Befolgen des dritten Vorgangs müssen Sie ihn auch zur Datenbank hinzufügen, bevor Sie Ihre Datencodierung abfragen/ändern/hinzufügen. Darüber hinaus ist anzumerken, dass sich UTF8 hier vom vorherigen unterscheidet und keine horizontale Linie in der Mitte vorhanden ist.

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

Nachdem Sie eine Verbindung zur Datenbank hergestellt haben:

[hide]$connection = mysql_connect($host_name, $host_user, $host_pass);

Fügen Sie zwei Zeilen hinzu:

mysql_query("set character set &#39;utf8&#39;");//读库
mysql_query("set names &#39;utf8&#39;");//写库

Sie können die MYSQL-Datenbank normal lesen und schreiben.

<?php
 mysql_query(&#39;SET NAMES UTF8&#39;);
 //接下来的就是查出数据或者修改,增加
?>

UTF-8-Kodierung ist nur eine der Kodierungen. Wenn Sie die UTF-8-Kodierung nicht verwenden möchten, können Sie auch andere Kodierungen verwenden wird hauptsächlich in der chinesischen Website-Entwicklung verwendet. Es gibt zwei Kodierungen: GB2312 und UTF-8.

Eine Sache ist zu beachten: Der vor dem PHP-Programm hinzugefügte Code, der Datenbankoperationen ausführen muss, muss mit dem PHP-Code übereinstimmen. Wenn der PHP-Code gb2312 ist, dann der MySQL-Code ist gb2312. Wenn es sich um UTF-8 handelt, ist die MySQL-Codierung UTF8, sodass beim Einfügen oder Abrufen von Daten keine verstümmelten Zeichen auftreten.

Das obige ist der detaillierte Inhalt vonWas tun, wenn in PHP verstümmelte chinesische UTF-8-Zeichen angezeigt werden?. 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