【问题标题】:Content-Type charset won't changeContent-Type 字符集不会改变
【发布时间】:2021-09-26 14:51:13
【问题描述】:

我正在尝试将我的网站从 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 开发工具仍然说我的页面是“Content-Type: text/html; charset=windows-1251”,我在浏览器中看到的是乱码而不是西里尔字母。

我还能做什么?

附:我的 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

【问题讨论】:

    标签: php encoding utf-8 cyrillic charset


    【解决方案1】:

    检查此网址。这可能会帮助你。 charset changing

    编辑: 试试这些。

    1. 在 HTML 标记之前设置标题。

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

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

    【讨论】:

    • 我在发帖前检查了它。你的意思是什么具体的?
    • @klm123 编辑了答案。请检查。
    • 1.没有帮助。 2. 没有数据库了。它只是一个index.html,你可以在帖子中看到
    【解决方案2】:

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

    【讨论】:

    • 因此,您没有考虑的一种解决方法是:使用不同的客户端(Web 浏览器)。也许你甚至会遇到一个已经带有让用户选择编码的可能性 - 也许 Safari 仍然允许这样做......
    猜你喜欢
    • 2014-08-23
    • 1970-01-01
    • 2013-10-05
    • 2019-04-04
    • 2023-03-11
    • 2020-04-01
    • 1970-01-01
    • 2013-06-09
    • 2013-07-10
    相关资源
    最近更新 更多