Php 不同的输出取决于访问页面的位置?

Php 不同的输出取决于访问页面的位置?,php,browser,utf-8,character-encoding,Php,Browser,Utf 8,Character Encoding,我在PHP和字符集编码方面遇到了一个奇怪的问题 我正在开发一个PHP页面,输出一些拉丁语(ã、á、á等)字符 当我从我的本地主机运行页面时,它工作正常。然而,当我将它上传到我的测试服务器并通过url访问它时,所有拉丁字符都会变成小正方形(顺便说一下,在IE中) 我已经将浏览器上的字符编码前后更改为utf8、西欧等,但似乎都不起作用 有人有主意吗? <head> <meta http-equiv="Content-Type" content="text/html; cha

我在PHP和字符集编码方面遇到了一个奇怪的问题

我正在开发一个PHP页面,输出一些拉丁语(ã、á、á等)字符

当我从我的本地主机运行页面时,它工作正常。然而,当我将它上传到我的测试服务器并通过url访问它时,所有拉丁字符都会变成小正方形(顺便说一下,在IE中)

我已经将浏览器上的字符编码前后更改为utf8、西欧等,但似乎都不起作用

有人有主意吗?


<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> // Or actual encoding
</head>
//或实际编码
您是否检查了本地主机和测试服务器的php.ini文件中的不同
默认字符集设置?

或者将
php.ini
中的
默认字符集设置为
UTF-8
,或者如果您无法控制,请在php文件顶部添加以下行,将任何字符发射到响应主体之前:

header('Content-Type: text/html;charset=UTF-8');
另见:

是的,我会在编辑代码后尽快尝试,但即使在html页面开始时未将其设置为utf8,当我手动将浏览器设置为utf8时,它也会开始工作?如果PHP打印的内容是用utf-8编码的,而这个标签是用HTML编码的,那么一切都应该正常。如果这些字符来自数据库-检查那里的编码是否设置正确。我知道。但是,即使php输出的是utf8,html内容类型不是utf8,它也应该在我将浏览器设置为utf-8时开始工作。这将覆盖内容类型标记,并正确显示utf8中写入的内容。我的问题是,即使我通过右键单击等方式将浏览器设置为使用utf8,它仍然无法工作。当然,IE并不是最可靠的浏览器,正如你所知道的:我知道。但让我感到不安的是,当文件位于本地主机时,它会工作。但当我把它上传到其他地方,然后尝试访问它时就不会了。