在Nginx-PHP虚拟主机上设置字符集不起作用

在Nginx-PHP虚拟主机上设置字符集不起作用,nginx,utf-8,iso-8859-1,php-7.2,Nginx,Utf 8,Iso 8859 1,Php 7.2,我尝试如下设置虚拟主机的字符集: server { root /var/www/mywebsite.com; 我已经在服务器和位置上指定了字符集和过多的字符集,但它仍然在UTF-8中发送头 我不得不修改/etc/php/7.2/fpm/php.ini中的php.ini文件,以便在其中指定default\u charset=“iso-8859-1” 但我想让我的php设置为UTF-8,并在Nginx上仅为一个虚拟主机iso-8859-1指定 在Apache上,我们可以做到:

我尝试如下设置虚拟主机的字符集:

server {
        root /var/www/mywebsite.com;

我已经在
服务器
位置
上指定了
字符集
过多的字符集
,但它仍然在UTF-8中发送头

我不得不修改/etc/php/7.2/fpm/php.ini中的php.ini文件,以便在其中指定
default\u charset=“iso-8859-1”

但我想让我的php设置为UTF-8,并在Nginx上仅为一个虚拟主机iso-8859-1指定

在Apache上,我们可以做到:

<VirtualHost mywebsite.com:80>
...
    Header set Content-Type "text/html; charset=iso-8859-1"
</VirtualHost>

...
标题集内容类型“text/html;charset=iso-8859-1”
如何在Nginx上执行同样的操作


谢谢。

这是PHP问题,不是Nginx。默认的PHP字符集配置被设置为“utf-8”,您希望将其设置为“utf-8”。因此,要覆盖它,请在脚本开头添加:

ini_set('default_charset', 'iso-8859-1');
<VirtualHost mywebsite.com:80>
...
    Header set Content-Type "text/html; charset=iso-8859-1"
</VirtualHost>
ini_set('default_charset', 'iso-8859-1');