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

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

Dec 01, 2016 am 11:09 AM
header meta php

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 <META http-equiv="content-type „content=“text/html; GBK, UTF-8 (im Gegensatz zu MySQL ist MySQL UTF8) usw. Daher können die meisten Seiten diese Methode verwenden, um dem Browser mitzuteilen, welche Codierung beim Anzeigen dieser Seite verwendet werden soll, um Codierungsfehler und verstümmelte Zeichen zu vermeiden. Aber manchmal werden wir feststellen, dass dieser Satz immer noch nicht funktioniert, egal welcher xxx ist, der Browser verwendet immer die gleiche Codierung, darüber werde ich später sprechen.

Bitte beachten Sie, dass <meta> zu HTML-Informationen gehört und nur eine Anweisung ist. Es zeigt an, dass der Server die HTML-Informationen an den Browser übergeben hat.

2. header(“content-type: text/html; charset=xxx”);

Die Funktion dieser Funktion header() besteht darin, die Informationen in den Klammern an den http zu senden Kopfzeile.

Wenn der Inhalt in den Klammern dem im Artikel genannten entspricht, ist die Funktion grundsätzlich dieselbe wie beim <META>-Tag. Wenn Sie es mit dem ersten vergleichen, werden Sie feststellen, dass die Zeichen ähnlich sind . Der Unterschied besteht jedoch darin, dass der Browser bei Vorhandensein dieser Funktion immer die von Ihnen angeforderte XXX-Kodierung verwendet und niemals ungehorsam ist. Daher ist diese Funktion sehr nützlich. Warum passiert das? Dann müssen wir über den Unterschied zwischen HTTPS-Header und HTML-Informationen sprechen:

https-Header ist eine Zeichenfolge, die vom Server gesendet wird, bevor HTML-Informationen über das HTTP-Protokoll an den Browser gesendet werden.

Da das Meta-Tag zu HTML-Informationen gehört, erreicht der von header() gesendete Inhalt zuerst den Browser. Der beliebte Punkt ist, dass header() eine höhere Priorität als Meta hat (ich weiß nicht, ob das möglich ist). gesagt werden). Das Hinzufügen einer PHP-Seite hat sowohl header("content-type:text/html; charset=xxx") als auch <META http-equiv="content-type" content="text/html; charset=xxx"> 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

<META http -equiv=“content-type“ content=“text/html; charset=xxx“), um sicherzustellen, dass es auf jedem Server korrekt angezeigt werden kann und eine starke Portabilität aufweist.

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:
<meta http-equiv=“Content-Type“ content=“text/html“ /&gt ;

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');


Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

Das neue erschwingliche Meta Quest 3S VR-Headset erscheint bei FCC, was auf eine baldige Markteinführung hindeutet Das neue erschwingliche Meta Quest 3S VR-Headset erscheint bei FCC, was auf eine baldige Markteinführung hindeutet Sep 04, 2024 am 06:51 AM

Das neue erschwingliche Meta Quest 3S VR-Headset erscheint bei FCC, was auf eine baldige Markteinführung hindeutet

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein

See all articles