PHP 5.6-Charset-Header Auf ISO-8859-1?
Mein hosting-service, der kürzlich aktualisiert meine website-server von PHP 5.3 bis 5.6, und es brach meiner site, dass alle meine html/php-Dateien sind ISO-8859-1, aber die Seite ist jetzt servierte mit der response-Header, der angibt,
charset=UTF-8
Ich verstehen, ich sollte zu bewegen, um die UTF-8-Dateien, die schließlich aber in der Zwischenzeit möchte ich einen quick-fix. Ich habe versucht, die folgenden Updates:
<meta charset="ISO-8859-1"> (in the <head> tag of html files)
AddDefaultCharset ISO-8859-1 (in .htaccess)
default_charset= "ISO-8859-1" (in php.ini)
...aber keiner von diesen betroffenen response-header charset.
Das einzige, was funktionierte im Test war das hinzufügen dieser Zeile in meiner header.php Datei, über die die meisten (nicht alle) meiner Seiten:
header('Content-Type: charset=ISO-8859-1');
Aber ich will nicht auf die Jagd durch alle Nachzügler Dateien und hinzufügen, dass zu jeder. Ich könnte auch konvertieren Sie alle Dateien auf UTF-8 wenn ich dabei bin, Sie zu jagen und Sie berühren.
Also...ich Frage mich, ob jemand weiß, warum mein PHP.ini oder htaccess behebt das nicht tun den job universell? Bedeutet die Tatsache, dass diese arbeiten nicht darauf hinweisen, dass einige andere Apache-Einstellung ist die Kontrolle des response-headers charset?
Vielen Dank im Voraus.
Update: ich habe sogar versucht, indem
addCharset ISO-8859-1 .html .htm .php
.htaccess aber keine Freude.
InformationsquelleAutor Avimelech | 2015-05-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Spiele-Umsonst-Antwort hat bei mir nicht funktioniert (auf Apache), aber das war der trick:
"Off" ist ein Gültiger Wert für "AddDefaultCharset", also denke ich, default_charset, wie gut. "None" ist nicht gültig, so dass ich denke, dass ist der Grund, warum es nicht funktioniert hat. Ich denke, das könnte davon abhängen, einige server-Konfigurationen oder der http-Dämon verwendet.
Weiteren Lektüre für Apache-web-server: http://httpd.apache.org/docs/current/mod/core.html#adddefaultcharset
InformationsquelleAutor Chris Trynkiewicz
Diese .htaccess wird Ihnen helfen, mein Freund:
Und vergessen Sie nicht, die html-Dateien 😛 Reinigen Sie das meta-tag oder stellen Sie sicher, Sie sind alos ISO
InformationsquelleAutor Spiele-Umsonst
Für Apache, das default charset ist in httpd.conf. Überprüfen Sie heraus diesen thread: Einstellung PHP-Standard-encoding auf utf-8?.
Glück!
InformationsquelleAutor Stijn Hooft
Änderungen .htaccess oder /etc/apache2/sites-available/? Dies ist abhängig vom Umfang benötigt.
Ich schrieb im .htaccess
php_value default_charset ISO-8859-1
überschreiben Sie den Wert in php.inidefault_charset UTF-8
.Es läuft, weil ich habe nicht ein AddDefaultCharset in meiner apache-config-Datei.
Ich hinzufügen in .htaccess
AddDefaultCharset ISO-8859-1
zu verhindern.InformationsquelleAutor Pascal KOCH
Wenn die oben nicht funktioniert, können Sie versuchen, so etwas wie dies an der Spitze der PHP-Datei:
InformationsquelleAutor DesignConsult