内容类型字符集不会改变

Content-Type charset won't change

我正在尝试将我的网站从 windows-1251 更改为 utf-8,但它不会让步。

网络上有大量的“解决方案”,但似乎都不够。

这是我所做的:

  1. 我将 index.html(智能模板)和 index.php 文件的编码更改为 UTF-8。

  2. 我设置

     <html lang="ru">
     <head>
     <meta charset="utf-8">
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    

在index.html

  1. 我设置

    header('Content-type: text/html; charset=utf-8');
    

在 index.php

的几个地方
  1. 我变了

    default_charset="UTF-8"
    

在 php.ini 中并重新启动了我的 Apache(XAMPP) 服务器

而且,Chrome devtools 说我的页面是“Content-Type: text/html; charset=windows-1251”,我在浏览器中看到乱码而不是西里尔文。

我还能做什么?

P.S。我的 index.html 现在看起来像这样:

<?php header('Content-type: text/html; charset=utf-8'); ?>
<!DOCTYPE html>

<html lang="ru">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>
        Тест
    </body>
</html>

我直接用浏览器打开:http://localhost:8080/index.html

检查这个 url。这可能对你有帮助。 charset changing

编辑: 试试这些。

  1. 在 HTML 标签前设置 header。

    <?php header('Content-type: text/html; charset=utf-8'); ?> <!DOCTYPE html>

  2. 当您将脚本连接到数据库时,您需要为 PHP/MySQL 连接指定相同的字符集。 查看 Old issue

我似乎安装了 Chrome 编码扩展,设置为 Windows-1251:https://chrome.google.com/webstore/detail/set-character-encoding/bpojelgakakmcfmjfilgdlmhefphglae