Die Lösung für verstümmelten Apache PHP-Code: Kommentieren Sie zuerst den Code in „php.ini“ aus, ändern Sie dann die Sprache des Home-Verzeichnisses in „AddDefaultCharset utf-8“ und ändern Sie dann die Codierungsmethode des erforderlichen Ordners. Schließlich starten Sie einfach Apache neu.
Lösung für PHP-Anzeige von verstümmeltem Code und Apache-internem Codierungsproblem
Codierungsproblem
Die Standardkodierung von PHP ist utf-8. Um das Meta-Tag des HTML-Codes nicht schreiben zu müssen, werden während des Tests keine verstümmelten Zeichen angezeigt
E:\OpenStudy\www\CSphp
Und das Hilfedokument, das ich heruntergeladen habe. Die HTML-Version von Electronic Data erfordert GB2312-Einstellungen
E:\OpenStudy\www\Electronic Books
Zu Beginn der Serverkonfiguration verwendet PHP die von allen empfohlene UTF-8-Kodierungsmethode
[php.ini] default_charset = "UTF-8"
Server-Stammverzeichnis:
E:\OpenStudy\www
Konsultierte zugehörige Informationen
AddDefaultCharset 指令 说 明 当应答内容是text/plain或text/html时,在HTTP应答头中加入的默认字符集 语 法 AddDefaultCharset On|Off|charset 默认值 AddDefaultCharset Off 作用域 server config, virtual host, directory, .htaccess 覆盖项 FileInfo 状 态 核心(C) 模 块 core
Nur wenn der Antwortinhalt text/plain oder text/html ist, fügt dieser Befehl den Standard hinzu Wert im Zeichensatz des HTTP-Antwortheaders. Theoretisch wird dadurch der über das -Tag im Dokumenttext angegebene Zeichensatz überschrieben, das tatsächliche Verhalten hängt jedoch normalerweise von den Browsereinstellungen des Benutzers ab. AddDefaultCharset Off deaktiviert diese Funktion. AddDefaultCharset On aktiviert den internen Standardzeichensatz von Apache, iso-8859-1. Sie können auch angeben, dass ein anderer Zeichensatz aus einem der von der IANA registrierten Zeichensatznamen verwendet werden soll. Beispiel:
AddDefaultCharset utf-8
AddDefaultCharset sollte nur in den folgenden Situationen verwendet werden: Alle Textressourcen verwenden denselben bestimmten Zeichensatz und es ist sehr mühsam, ihre Zeichensätze separat zu markieren. Ein Beispiel dafür ist das Hinzufügen von Zeichensatzparametern zu Ressourcen mit dynamischen Inhalten (z. B. ältere CGI-Skripte), was zu Cross-Site-Scripting-Angriffen führen kann, indem vom Benutzer bereitgestellte Daten in die Ausgabe einbezogen werden. Bitte beachten Sie jedoch: Eine bessere Lösung besteht darin, diese Skripte zu ändern oder zu löschen, da durch das Festlegen des Standardzeichensatzes die automatische Zeichensatzerkennungsfunktion des Browsers deaktiviert wird. Die
AddCharset 指令 说明 在给定的文件扩展名与特定的字符集之间建立映射 语法 AddCharset charset extension [extension] ... 作用域 server config, virtual host, directory, .htaccess 覆盖项 FileInfo 状态 基本(B) 模块 mod_mime
AddCharset-Direktive stellt eine Zuordnung zwischen einer bestimmten Dateierweiterung und einem bestimmten Zeichensatz her. charset ist der MIME-Zeichensatzparameter der Datei mit der Erweiterung „extension“. Diese Zuordnungsbeziehung wird zwangsweise zu allen vorhandenen Zuordnungsbeziehungen hinzugefügt und überschreibt alle vorhandenen Erweiterungszuordnungen.
AddLanguage ja .ja AddCharset EUC-JP .euc AddCharset ISO-2022-JP .jis AddCharset SHIFT_JIS .sjis
Mit der obigen Definition wird das Dokument xxxx.ja.jis als japanisches Dokument betrachtet, das den Zeichensatz ISO-2022-JP verwendet (dasselbe gilt für das Dokument xxxx.jis.ja). Zusätzlich zur Information des Clients über die Zeichensatzcodierung des Dokuments, damit es übersetzt und korrekt angezeigt werden kann, wird die AddCharset-Direktive auch für die Inhaltsverhandlung verwendet (Auswahl eines von mehreren Dokumenten, die basierend auf den Präferenzinformationen des Benutzers an den Benutzer zurückgegeben werden sollen). ).
<Directory> 指令 说 明 封装一组指令,使之仅对文件空间中的某个目录及其子目录生效 语 法 <Directory directory-path> ... </Directory> 作用域 server config, virtual host 状 态 核心(C) 模 块 core
<Directory /usr/local/httpd/htdocs> Options Indexes FollowSymLinks </Directory>
Seien Sie vorsichtig, wenn Sie die Verzeichnispfadparameter verwenden: Sie müssen mit dem Dateisystempfad übereinstimmen, den Apache für den Zugriff auf Dateien verwendet. Anweisungen, die einem bestimmten
Lösung
1. Kommentieren Sie den Code in php.ini aus
[php.ini] ;default_charset = "UTF-8"
2. Ändern Sie die Sprache des Home-Verzeichnisses in
AddDefaultCharset utf-8
Ändern Sie die Kodierungsmethode des erforderlichen Ordners [E:/OpenStudy/www/Electronic Books]
<Directory "E:/OpenStudy/www/Electronic Books"> AddDefaultCharset gb2312 </Directory>
Die Änderung ist abgeschlossen, starten Sie Apache neu und fertig
Weitere Informationen zu diesem Thema , besuchen Sie bitte diePHP chinesische Website!
Das obige ist der detaillierte Inhalt vonWas tun, wenn Apache PHP verstümmelt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!