Heim Backend-Entwicklung PHP-Problem Zusammenfassung verwandter Lösungen für das Problem mit verstümmelten PHP-Headern

Zusammenfassung verwandter Lösungen für das Problem mit verstümmelten PHP-Headern

Jul 21, 2020 am 11:05 AM
header php

Lösung für den verstümmelten PHP-Header: 1. Fügen Sie der PHP-Seite die Anweisung „header(“Content-type: text/html; charset=utf-8“);“ hinzu So legen Sie die Seitenkodierung fest: 3. Vereinheitlichen Sie die Kodierung von PHP-Seiten.

Zusammenfassung verwandter Lösungen für das Problem mit verstümmelten PHP-Headern

PHP-Header löst Probleme mit verstümmeltem Code und anderen Problemen mit verstümmeltem Code

Empfohlen: "PHP-Tutorial

PHP-Header zum Definieren einer PHP-Seite als UTF-Kodierung oder GBK-Kodierung

PHP-Seite als UTF-Kodierung

header("Content-type: text/html; charset=utf-8");
Nach dem Login kopieren

PHP-Seite als GBK-Kodierung

header("Content-type: text/html; charset=gb2312");
Nach dem Login kopieren

Die PHP-Seite ist Big5-codiert

header("Content-type: text/html; charset=big5");
Nach dem Login kopieren

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

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

1. Seitenkodierung

1. Verwenden Sie zum Festlegen das Tag die Seitenkodierung

diese Die Funktion des Tags besteht darin, anzugeben, welche Zeichensatzkodierung der Browser des Clients zum Anzeigen der Seite verwendet. xxx kann GB2312, GBK, UTF-8 sein (anders als MySQL, das UTF8 ist). , 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 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 -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:

Der https-Header ist eine Zeichenfolge, die vom Server gesendet wird, bevor HTML-Informationen mithilfe des HTTP-Protokolls 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). Fügen Sie eine PHP-Seite hinzu, die sowohl header("content-type:text/html; charset=xxx") als auch enthält. 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 (verschiedene Versionen können 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 eines Headers („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:

Lassen Sie uns sortieren

header("content-type:text/html; charset=xxx") 
AddDefaultCharset xxx 
<META http-equiv="content-type" content="text/html; charset=xxx">
Nach dem Login kopieren

Wenn Sie ein Webprogrammierer sind, fügen Sie einen Header hinzu („content-type: 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

Vor der Abfrage der Datenbank führt das PHP-Programm zunächst mysql_query("SET NAMES xxxx"); aus, wobei xxxx die Kodierung Ihrer Webseite ist (charset= xxxx), wenn charset=utf8 auf der Webseite, dann xxxx=utf8, wenn charset=gb2312 auf der Webseite, dann xxxx=gb2312, fast alle WEB-Programme haben einen gemeinsamen Code, um eine Verbindung zur Datenbank herzustellen In einer Datei abgelegt. Fügen Sie hier einfach mysql_query("Namen festlegen") hinzu.

SET NAMES 显示客户端发送的 SQL 语句中使用什么字符集。因此,SET NAMES 'utf-8'语句告诉服务器“将来从这个客户端传来的信息采用字符集utf-8”。它还为服务器发送回客户端的结果指定了字符集。(例如,如果你使用一 个SELECT语句,它表示列值使用了什么字符集。)

PHP页面编码统一

MySQL数据库编码、html页面编码、PHP或html文件本身编码要全部一致。

  1、MySQL数据库编码:建立数据库时指定编码(如gbk_chinese_ci),建立数据表、建立字段、插入数据时不要指定编码,会自动继承数据库的编码。

数据库连接时,也有编码,可以在连接完数据库后,执行

mysql_query(&#39;SET NAMES gbk&#39;);//将gbk换成你的编码,如utf8。
Nach dem Login kopieren

  2、html页面的编码,指的是这一行的设置:

<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
Nach dem Login kopieren

  3、PHP或html文件本身的编码:用editplus打开php文件或html文件,另存时,选择的编码,如果数据库和页面编码是gbk,则这儿的编码选择ansi;如果数据库和页面编码是utf-8,则这儿也选择utf-8。

  4、另外要注意的是,Javascript或Flash中传递的数据是utf-8编码,如果数据库和页面编码是gbk,要进行转码,然后写入数据库。

iconv(&#39;utf-8&#39;, &#39;gbk&#39;, $content);
Nach dem Login kopieren

5、在PHP程序中,可以加上一行,来指定PHP源程序的编码:

header(&#39;Content-type: text/html; charset=gbk&#39;);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonZusammenfassung verwandter Lösungen für das Problem mit verstümmelten PHP-Headern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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 KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

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 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

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

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles