由于字符编码,PHP header()无法工作

由于字符编码,PHP header()无法工作,php,character-encoding,Php,Character Encoding,我有一个PHP文件,其中只包含以下内容: <?php header( 'Location: http://www.yahoo.com'); ?> 重定向在本地工作,但在我的蓝色主机服务器上不工作。支持部门说我必须将我的PHP文件的字符编码从UTF8改为ASCII,这样就可以了。但是我不知道怎么做。有没有一款免费软件可以轻松实现这一点,或者其他方式?在较新版本的记事本(windows)中,您可以在“另存为”时选择编码 否则,请使用具有编码菜单的。在较新版本的记事本(windows

我有一个PHP文件,其中只包含以下内容:

<?php header( 'Location: http://www.yahoo.com'); ?>


重定向在本地工作,但在我的蓝色主机服务器上不工作。支持部门说我必须将我的PHP文件的字符编码从UTF8改为ASCII,这样就可以了。但是我不知道怎么做。有没有一款免费软件可以轻松实现这一点,或者其他方式?

在较新版本的记事本(windows)中,您可以在“另存为”时选择编码


否则,请使用具有编码菜单的。在较新版本的记事本(windows)中,您可以在“另存为”时选择编码


否则,请使用带有编码菜单的。这就是为什么您不应该向HSP支持人员询问编程问题的原因。这超出了他们的范围,在最好的情况下,他们会提供一些像这样的虚假建议


不管怎样,在提到UTF-8时可能有一些真实性。检查编辑器设置,确保UTF-8文件不包含BOM(Unicode字节顺序标记)。它不是强制性的,大多数应用程序都会对它感到困惑,尤其是PHP本身。

这就是为什么您永远不应该向HSP支持人员询问编程问题的原因。这超出了他们的范围,在最好的情况下,他们会提供一些像这样的虚假建议


不管怎样,在提到UTF-8时可能有一些真实性。检查编辑器设置,确保UTF-8文件不包含BOM(Unicode字节顺序标记)。它不是强制性的,而且大多数应用程序都会对它产生混淆,尤其是PHP本身。

使用一个新主机更好地控制您的服务器。更改字符编码取决于您用于编码的编辑器。您正在使用哪个编辑器?@Hiroto PHP需要ASCII兼容编码,无论服务器是什么。只要不使用BOM表,UTF-8就与ASCII兼容。当保存为UTF-8时,普通记事本将插入BOM,使用记事本++可以选择
UTF-8而不使用BOM
-encoding。使用对服务器有更好控制的新主机。更改字符编码取决于用于编码的编辑器。您正在使用哪个编辑器?@Hiroto PHP需要ASCII兼容编码,无论服务器是什么。只要不使用BOM表,UTF-8就与ASCII兼容。普通记事本将在保存为UTF-8时插入BOM,使用记事本++可以选择
UTF-8而不使用BOM
-编码…甚至可以使用正确的IDE,如eclipse或netbeans。我使用记事本+,能够将文件格式从UTF8更改为ANSI(任何地方都没有ASCII)。然而,重定向仍然不起作用。有什么建议吗?ANSI是扩展的ASCII,你的代码看起来不错,也许你的主机对一些PHP函数有限制?对不起,我弄错了。将字符集从UTF-8更改为ANSI修复了该问题。谢谢大家的帮助!。。。我使用记事本+,能够将文件格式从UTF8更改为ANSI(在任何地方都没有ASCII)。然而,重定向仍然不起作用。有什么建议吗?ANSI是扩展的ASCII,你的代码看起来不错,也许你的主机对一些PHP函数有限制?对不起,我弄错了。将字符集从UTF-8更改为ANSI修复了该问题。谢谢大家的帮助+1:对这个问题的分析很好。如果文件保存为
UTF-8+BOM
,PHP会将BOM视为
+1:对问题的出色分析之外的可打印字符。如果文件保存为
UTF-8+BOM
,PHP会将BOM视为