gpt4 book ai didi

PHP 5.6 字符集头回到 ISO-8859-1?

转载 作者:行者123 更新时间:2023-12-04 23:25:34 27 4
gpt4 key购买 nike

我的托管服务最近将我的网站服务器从 PHP 5.3 升级到 5.6,它破坏了我的网站,因为我所有的 html/php 文件都是 ISO-8859-1,但该网站现在正在提供响应 header ,表明

charset=UTF-8

我知道我最终应该转向 UTF-8 文件,但同时我想要一个快速修复。我尝试了以下修复:
<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)

...但这些都没有影响响应头字符集。

在测试中唯一有效的是将此行添加到我的大多数(不是全部)页面使用的 header.php 文件中:
header('Content-Type: charset=ISO-8859-1');

但我不想搜索所有落后的文件并将其添加到每个文件中。如果我要寻找它们并以这种方式触摸它们,我不妨将所有文件转换为 UTF-8。

所以......我想知道是否有人会知道为什么我的 PHP.ini 或 htaccess 修复不能普遍地完成这项工作?这些不起作用的事实是否表明其他一些 Apache 设置正在控制字符集的响应 header ?

提前致谢。

更新:我什至尝试添加
addCharset ISO-8859-1 .html .htm .php 

.htaccess 但没有快乐。

最佳答案

Spiele-Umsonst 的回答对我不起作用(在 Apache 上),但这确实有效:

php_value default_charset Off
AddDefaultCharset ISO-8859-1

“Off”是“AddDefaultCharset”的有效值,所以我猜对 default_charset 也是如此。 “无”无效,所以我想这就是它不起作用的原因。我认为这可能取决于某些服务器配置或使用的 http 守护进程。

Apache Web 服务器的进一步阅读: http://httpd.apache.org/docs/current/mod/core.html#adddefaultcharset

关于PHP 5.6 字符集头回到 ISO-8859-1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30290473/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com