Beim Aufbau eines Webservers mit Nginx und PHP stoßen wir häufig auf das Problem verstümmelter chinesischer Schriftzeichen. Dies liegt daran, dass Nginx und PHP die chinesische Kodierung standardmäßig nicht automatisch verarbeiten und wir sie manuell so einstellen müssen, dass Chinesisch normal angezeigt wird. In diesem Artikel erfahren Sie, wie Sie die Codierung in Nginx und PHP festlegen, um das Problem verstümmelter chinesischer Zeichen zu lösen.
1. Nginx-Einstellung der Kodierung
Das Festlegen der Kodierung in Nginx muss in der Konfigurationsdatei erfolgen. Durch Bearbeiten der Nginx-Konfigurationsdatei können wir den Inhaltstyp des Antwortheaders ändern, um die chinesische Codierung festzulegen.
Verwenden Sie einen Texteditor, um die Nginx-Konfigurationsdatei zu öffnen: /etc/nginx/nginx.conf Sie können den folgenden Befehl verwenden, um sie zu öffnen:
sudo vi /etc/nginx/nginx.conf
unter http die folgende Konfiguration hinzu:
charset utf-8;
Diese Konfiguration fügt Content-Type: text/html=utf-8 in den Antwortheader ein und teilt dem Browser mit, dass der zurückgegebene Text UTF-8-codiert ist . Bei Bedarf können wir auch andere Kodierungen festlegen.
Nachdem Sie die Konfigurationsdatei geändert haben, müssen Sie den Nginx-Server neu starten, damit sie wirksam wird. Sie können den folgenden Befehl verwenden, um Nginx neu zu starten:
sudo service nginx restart
2. PHP-Einstellung der Kodierung
Es gibt viele Möglichkeiten, die Kodierung in PHP festzulegen, die in der Konfigurationsdatei php.ini oder dynamisch im Code festgelegt werden kann. Hier sind zwei häufig verwendete Methoden.
In der PHP-Konfigurationsdatei php.ini gibt es eine Option „default_charset“, mit der die Standardkodierung festgelegt werden kann. Sie können die folgenden Schritte ausführen, um es einzurichten:
1) Suchen Sie die Datei php.ini, die sich normalerweise im Verzeichnis /etc/php/PHP version/ befindet, z. B. /etc/php/7.2.
2) Öffnen Sie die Datei php.ini und finden Sie die folgende Zeile:
;default_charset =
3) Entfernen Sie das Semikolon und legen Sie die Kodierung fest, z. B.:
default_charset = "utf-8"
4) Speichern und schließen Sie die Datei php.ini und starten Sie dann PHP neu -FPM-Service, um die Änderungen wirksam zu machen.
Wenn Sie die Datei php.ini nicht ändern möchten, können Sie sie auch dynamisch im Code festlegen. Sie können die Header-Funktion von PHP verwenden, um den Wert von Content-Type auf die angegebene Codierung festzulegen.
Um beispielsweise die Kodierung auf UTF-8 einzustellen, können Sie den folgenden Code verwenden:
header('Content-Type: text/html; charset=utf-8');
Diese Funktion muss aufgerufen werden, bevor etwas ausgegeben wird, sonst tritt der Fehler „Header bereits gesendet“ auf.
3. Zusammenfassung
Beim Aufbau eines Webservers mit Nginx und PHP ist die Kodierungseinstellung ein sehr wichtiger Schritt. Wenn die Einstellung falsch ist, kann es leicht zu Problemen mit verstümmelten chinesischen Zeichen kommen. Durch Festlegen der Kodierung in Nginx und PHP können Sie das Problem verstümmelter chinesischer Zeichen leicht lösen und die Leistung und Stabilität des Webservers verbessern.
Das obige ist der detaillierte Inhalt vonNginx-PHP-Set-Codierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!