Heim  >  Artikel  >  Backend-Entwicklung  >  Nginx-PHP-Set-Codierung

Nginx-PHP-Set-Codierung

WBOY
WBOYOriginal
2023-05-06 12:44:071749Durchsuche

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.

  1. Öffnen Sie die Konfigurationsdatei

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
  1. Ändern Fügen Sie in der Konfigurationsdatei

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.

  1. Starten Sie den Nginx-Server neu.

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.

  1. In php.ini festlegen

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.

  1. Im Code festlegen

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!

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