php - 浏览器如何覆盖我的 UTF-8 header 设置以及如何停止它?

标签 php html css utf-8 iso-8859-1

我使用简单的 CMS 系统创建了一个站点。所有文本都在标准文本框中输入,没有添加粗体或其他功能的奇特功能:您只需使用原始 HTML。

贡献者之一是在旧笔记本电脑上使用 IE7 并且(据我所知无法升级它或其他东西)。无论哪种方式,我都将所有页面设置为在标题中使用 UTF-8:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />

问题是他的浏览器以某种方式在输入文本时将其强制为“西方 (ISO-8859-1)”,因此当他的帖子随后显示时,UTF-8 使它们看起来一团糟那些到处都是黑色钻石的。我可以通过将 View 覆盖为 ISO-8859-1、复制然后粘贴回 UTF-8 设置的浏览器来进行更正,但显然这并不理想。

谁能告诉我他的 PC 上的什么设置可能导致此覆盖?我已经告诉他如何在 IE7 上访问编码并将其设置为“自动”,但它显然又回来了,所以可能还有其他原因。

最佳答案

<meta>元素只能建议浏览器做什么 - 它不能(据我所知)覆盖服务器发送的任何 header 。 meta 元素必须尽早出现在 <head> 中的文件。您也可以尝试更新的 <meta charset="utf-8"> .

一个更稳健的方法是 send the header from the server .我从问题的标签中假设您可以访问 PHP。您可以设置 header像这样:

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

您想将它放在文档的顶部,在任何 HTML 传输到浏览器之前。

关于php - 浏览器如何覆盖我的 UTF-8 header 设置以及如何停止它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8309097/

相关文章:

php - HTML 导航、Ajax 但兼容 JavaScript 禁用

html - CSS 不选择子元素

html - 尝试在 tumblr 容器主题周围添加边框

php - m 正则表达式模式修饰符

php - zend 调试多个页面

asp.net - 页面包含安全和非安全项目

css - Flex-box 被拉长

单击时滚动到 div ID 的 Javascript

php - 使用 PHP 从办公文件(.doc .ppt 等)生成 JPG

javascript - 如何通过单击按钮在完整日历单元格中更改单元格背景颜色并添加文本(从选定的按钮)?