Heim  >  Artikel  >  Backend-Entwicklung  >  PHP verwendet Header und Meta, um die Deklaration der Seitenkodierung zu implementieren

PHP verwendet Header und Meta, um die Deklaration der Seitenkodierung zu implementieren

伊谢尔伦
伊谢尔伦Original
2016-12-01 11:09:511185Durchsuche

In PHP können wir die Header-Methode verwenden, um die Seitenkodierung der PHP-Seite anzugeben, die UTF- oder GBK-Kodierung sein kann. Die spezifische Methode lautet wie folgt:

PHP-Seite ist UTF-kodiert
header( „Content-type: text/html; charset=utf-8″);

php-Seite ist GBK-codiert
header(“Content-type: text/html; charset=gb2312″) ;

Die PHP-Seite ist Big5-codiert
header(“Content-type: text/html; charset=big5″);

Normalerweise wird der obige Code auf der Homepage der platziert PHP-Seite

Der Unterschied zwischen der Verwendung von Header oder Meta zur Implementierung der PHP-Seitenkodierung

1. Verwenden Sie Der Browser erkennt nur den früheren http-Header und nicht das Meta. Natürlich kann diese Funktion nur innerhalb von PHP-Seiten verwendet werden.

Es stellt sich auch die Frage, warum Ersteres definitiv funktioniert, Letzteres jedoch manchmal nicht? Aus diesem Grund wollen wir als nächstes über Apache sprechen.

3. AddDefaultCharset

Im conf-Ordner im Apache-Stammverzeichnis befindet sich das gesamte Apache-Konfigurationsdokument httpd.conf.

Öffnen Sie httpd.conf mit einem Texteditor. Zeile 708 (kann in verschiedenen Versionen unterschiedlich sein) enthält AddDefaultCharset xxx, wobei xxx der Codierungsname ist. Die Bedeutung dieser Codezeile: Stellen Sie den Zeichensatz im https-Header der Webseitendatei auf dem gesamten Server auf Ihren Standard-xxx-Zeichensatz ein. Das Vorhandensein dieser Zeile entspricht dem Hinzufügen einer Kopfzeile („content-type: text/html; charset=xxx“) zu jeder Datei. Jetzt können Sie verstehen, warum der Browser immer gb2312 verwendet, obwohl die Meta-Einstellung utf-8 ist.

Wenn die Webseite einen Header („content-type: text/html; charset=xxx“) enthält, wird der Standardzeichensatz in den von Ihnen festgelegten Zeichensatz geändert, sodass diese Funktion immer funktioniert nützlich sein. Wenn Sie vor AddDefaultCharset xxx ein „#“ hinzufügen, diesen Satz auskommentieren und die Seite keinen Header („content-type...“) enthält, ist das Meta-Tag an der Reihe, wirksam zu werden.

Zusammenfassung:

Sortieren wir

Header(“content-type: text/html; charset=xxx”)

AddDefaultCharset xxx

Was den Satz AddDefaultCharset xxx betrifft, ist es Ansichtssache, ob er kommentiert werden soll oder nicht. Wie auch immer, ich habe es auskommentiert, aber ich muss beim Schreiben einer Seite auch header () schreiben, damit sie normal auf dem Server angezeigt werden kann.

2. Datenbankkodierung

Bevor die Datenbank abgefragt wird, führt das PHP-Programm zunächst mysql_query("SET NAMES xxxx"); aus, wobei xxxx die Kodierung Ihrer Webseite ist (charset=xxxx in der Webseite, dann xxxx=utf8). , wenn der Zeichensatz auf der Webseite =gb2312 ist, dann haben fast alle WEB-Programme einen gemeinsamen Code zum Herstellen einer Verbindung zur Datenbank, der in einer Datei abgelegt wird. Fügen Sie einfach mysql_query („Namen festlegen“) hinzu.

SET NAMES Zeigt an, welcher Zeichensatz in der vom Client gesendeten SQL-Anweisung verwendet wird. Daher teilt die SET NAMES-Anweisung „utf-8“ dem Server mit, dass „zukünftige Informationen von diesem Client den Zeichensatz utf-8 verwenden werden“. Außerdem wird der Zeichensatz für die Ergebnisse angegeben, die der Server an den Client zurücksendet. (Wenn Sie beispielsweise eine SELECT-Anweisung verwenden, gibt diese an, welcher Zeichensatz für den Spaltenwert verwendet wird.)

PHP-Seitenkodierung vereinheitlicht

MySQL-Datenbankkodierung, HTML-Seitenkodierung, PHP oder die HTML-Datei selbst. Die Codierung muss über alle hinweg konsistent sein.
1. MySQL-Datenbankkodierung: Geben Sie beim Erstellen der Datenbank die Kodierung an (z. B. gbk_chinese_ci). Geben Sie die Kodierung beim Erstellen von Datentabellen, beim Erstellen von Feldern und beim Einfügen von Daten nicht an.
Es gibt auch eine Codierung, wenn Sie eine Verbindung zur Datenbank herstellen. Führen Sie
mysql_query(‘SET NAMES gbk’);//ersetzen Sie gbk durch Ihre Codierung aus, z. B. utf8.

2. Die Kodierung der HTML-Seite bezieht sich auf die Einstellung dieser Zeile:

3. Die Codierung der PHP- oder HTML-Datei selbst: Öffnen Sie die PHP- oder HTML-Datei und wählen Sie beim Speichern die Codierung aus die Kodierung hier; wenn die Datenbank- und Seitenkodierung lautet: Die Seitenkodierung ist utf-8, also wählen Sie hier utf-8 aus.

4. Außerdem ist zu beachten, dass die in Javascript oder Flash übergebenen Daten in utf-8 kodiert sind. Wenn die Datenbank- und Seitenkodierung gbk ist, müssen sie transkodiert und dann in die Datenbank geschrieben werden.
iconv('utf-8′, 'gbk', $content);

5. Im PHP-Programm können Sie eine Zeile hinzufügen, um die Kodierung des PHP-Quellprogramms anzugeben:
header( 'Content-type: text/html; charset=gbk');


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